Ajout table MySQL erreur
Résolu
charline159
Messages postés
208
Date d'inscription
Statut
Membre
Dernière intervention
-
charline159 Messages postés 208 Date d'inscription Statut Membre Dernière intervention -
charline159 Messages postés 208 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'essaie actuellement de rajouter une table avec MySQL sauf que j'ai une erreur côté PHP.
Voilà ma requête MySQL:
Et l'erreur PHP:
(la ligne 71 fait référence à la première ligne de ma requête MySQL, donc
J'ai bien vérifié la syntaxe, je ne vois pas où est l'erreur. J'ai juste pu constater que la création de la table marchait si je supprimais les lignes suivantes:
Pourriez-vous m'éclairer sur l'erreur s'il vous plaît ?
Cordialement
Voilà ma requête MySQL:
$bdd -> query("CREATE TABLE IF NOT EXISTS utilisateur( id INTEGER PRIMARY KEY AUTOINCREMENT, email VARCHAR(50) UNIQUE, pseudo VARCHAR(50), password VARCHAR(300), role INTEGER, FOREIGN KEY (role) REFERENCES role(id) )");
Et l'erreur PHP:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' email VARCHAR(50) UNIQUE, pseudo VARCHAR(50), password VARCHA...' at line 2 in C:\Users\...\web\formulairePHP\jouer.php:71 Stack trace: #0 C:\Users\...\web\formulairePHP\jouer.php(71): PDO->query('CREATE TABLE IF...') #1 {main} thrown in C:\Users\...\web\formulairePHP\jouer.php on line 71
(la ligne 71 fait référence à la première ligne de ma requête MySQL, donc
$bdd -> query("CREATE TABLE IF NOT EXISTS utilisateur()
J'ai bien vérifié la syntaxe, je ne vois pas où est l'erreur. J'ai juste pu constater que la création de la table marchait si je supprimais les lignes suivantes:
id INTEGER PRIMARY KEY AUTOINCREMENT, role INTEGER, FOREIGN KEY (role) REFERENCES role(id)
Pourriez-vous m'éclairer sur l'erreur s'il vous plaît ?
Cordialement
A voir également:
- Ajout table MySQL erreur
- Table ascii - Guide
- Table des matières word - Guide
- Erreur 3005 france tv - Forum TV & Vidéo
- Ajout rapide snap - Forum Snapchat
- Ajout snap sans rien d'écrit - Forum Snapchat
2 réponses
Bonjour,
Déjà.. aucun rapport avec PHP à proprement parlé.
Là c'est purement un souci de requête SQL ( j'ai donc déplacé ta question dans le bon forum )
Ensuite..je pense que c'est AUTO_INCREMENT et non AUTOINCREMENT
Déjà.. aucun rapport avec PHP à proprement parlé.
Là c'est purement un souci de requête SQL ( j'ai donc déplacé ta question dans le bon forum )
Ensuite..je pense que c'est AUTO_INCREMENT et non AUTOINCREMENT
Effectivement, c'est AUTO_INCREMENT que je devrais utiliser. Merci pour ton aide.
Par contre, les deux dernières lignes de la requête
posent toujours problème.
Par contre, les deux dernières lignes de la requête
role INTEGER,
FOREIGN KEY (role) REFERENCES role(id)
posent toujours problème.
Cette fois j'ai bien créé la table role mais j'ai quand même une erreur:
errno: 150 "Foreign key constraint is incorrectly formed", donc voici tout mon code:
$pdo -> query("CREATE TABLE IF NOT EXISTS utilisateur( id INTEGER PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) UNIQUE, pseudo VARCHAR(50), password VARCHAR(300), role INTEGER );"); $pdo -> query("CREATE TABLE IF NOT EXISTS Role( role INTEGER, description VARCHAR(50) )"); $pdo -> query("ALTER TABLE utilisateur ADD FOREIGN KEY (role) REFERENCES Role (role)");