-- =============================================
-- CORRECTION DÉFINITIVE - Statut "Liste d'attente"
-- =============================================
-- Résout l'erreur SQLSTATE(01000): Data truncated

USE tournament_db;

-- Étape 1 : Afficher la définition actuelle
SELECT '=== AVANT CORRECTION ===' as info;
SELECT COLUMN_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'tournament_db' 
  AND TABLE_NAME = 'participants' 
  AND COLUMN_NAME = 'status';

-- Étape 2 : Corriger temporairement les données existantes
UPDATE participants 
SET status = 'En lice' 
WHERE status NOT IN ('En lice', 'Éliminé') 
  AND status IS NOT NULL;

-- Étape 3 : Recréer la colonne avec le bon ENUM
ALTER TABLE participants 
MODIFY COLUMN status ENUM('En lice', 'Éliminé', 'Liste d\'attente') 
DEFAULT 'En lice' 
NOT NULL;

-- Étape 4 : Vérifier la nouvelle définition
SELECT '=== APRÈS CORRECTION ===' as info;
SELECT COLUMN_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'tournament_db' 
  AND TABLE_NAME = 'participants' 
  AND COLUMN_NAME = 'status';

-- Étape 5 : Afficher un exemple des valeurs valides
SELECT '=== VALEURS VALIDES ===' as info;
SELECT 'En lice' as valeur_1, 'Éliminé' as valeur_2, 'Liste d\'attente' as valeur_3;

-- Étape 6 : Test d'insertion
SELECT '=== TEST D\'INSERTION ===' as info;
INSERT INTO participants (tournament_id, prenom, nom, age, telephone, status, inscription_date)
VALUES ('fortnite', 'Test', 'Correction', 25, '0600000000', 'Liste d\'attente', CURDATE());

-- Vérifier l'insertion
SELECT id, prenom, nom, status 
FROM participants 
WHERE prenom = 'Test' AND nom = 'Correction';

-- Supprimer le test
DELETE FROM participants 
WHERE prenom = 'Test' AND nom = 'Correction';

-- Étape 7 : Statistiques
SELECT '=== STATISTIQUES ===' as info;
SELECT 
    status,
    COUNT(*) as nombre
FROM participants
GROUP BY status;

SELECT '✅ CORRECTION TERMINÉE AVEC SUCCÈS !' as message;
SELECT 'Vous pouvez maintenant utiliser "Liste d\'attente" sans problème' as note;
