Problème SQL
antic80
-
antic80 -
antic80 -
salut
qui peut me dire ou est l'erreur; enfin c indiquer mais je vois pas ce qui ne va pas
CREATE TABLE user( id int( 11 ) NOT NULL AUTO_INCREMENT '', user char( 1 ) NOT NULL default '', online char( 1 ) NOT NULL default '', pseudo varchar( 30 ) NOT NULL default '', name varchar( 20 ) NOT NULL default '', surname varchar( 20 ) NOT NULL default '', email varchar( 30 ) NOT NULL default '', mdp varchar( 30 ) NOT NULL default '', mdp_secure varchar( 30 ) NOT NULL default '', mdp_random varchar( 255 ) NOT NULL default '', private_question varchar( 255 ) NOT NULL default '', private_reponse varchar( 255 ) NOT NULL default '', PRIMARY KEY ( id ) , UNIQUE KEY id( id ) ) TYPE = MYISAM
MySQL a répondu:
#1064 - Erreur de syntaxe près de 'user( id int( 11 ) NOT NULL AUTO_INCREMENT '', user char( 1' à la ligne 1
merci
qui peut me dire ou est l'erreur; enfin c indiquer mais je vois pas ce qui ne va pas
CREATE TABLE user( id int( 11 ) NOT NULL AUTO_INCREMENT '', user char( 1 ) NOT NULL default '', online char( 1 ) NOT NULL default '', pseudo varchar( 30 ) NOT NULL default '', name varchar( 20 ) NOT NULL default '', surname varchar( 20 ) NOT NULL default '', email varchar( 30 ) NOT NULL default '', mdp varchar( 30 ) NOT NULL default '', mdp_secure varchar( 30 ) NOT NULL default '', mdp_random varchar( 255 ) NOT NULL default '', private_question varchar( 255 ) NOT NULL default '', private_reponse varchar( 255 ) NOT NULL default '', PRIMARY KEY ( id ) , UNIQUE KEY id( id ) ) TYPE = MYISAM
MySQL a répondu:
#1064 - Erreur de syntaxe près de 'user( id int( 11 ) NOT NULL AUTO_INCREMENT '', user char( 1' à la ligne 1
merci
A voir également:
- Problème SQL
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix ✓ - Forum MySQL
- Sql lister les tables ✓ - Forum Programmation
- Récupération serveur sql - Télécharger - Gestion de données
- Migration base access vers sql server - Télécharger - Gestion de données
4 réponses
Que viennent faire les quotes juste après AUTO_INCREMENT sur la ligne 1 ? Si ca se trouve tu as oublié de mettre "default" juste avant, non ?
Pour résoudre un tel problème, tu essayes de créer une table avec d'abord le premier attribut, sans les autres. Déjà quand tu auras vu que ca ne marche pas, tu commences à restreindre le champ d'action.
J'ai refait ta requete dans ma base et en mettant des "anti-quotes" (`) autour du nom de la table, cela fonctionne. Je t'avoue aussi qu'il m'a fallu AUSSI supprimer les quotes qui sont juste après "AUTO_INCREMENT" et dont je parlais dans mon message précédent ;-)
Astuce: tu crées une table en mode "assistant" et puis tu fais "exporter" au format SQL. Ca te donnera une idée de la syntaxe supportée par MySQL.
J'ai refait ta requete dans ma base et en mettant des "anti-quotes" (`) autour du nom de la table, cela fonctionne. Je t'avoue aussi qu'il m'a fallu AUSSI supprimer les quotes qui sont juste après "AUTO_INCREMENT" et dont je parlais dans mon message précédent ;-)
CREATE TABLE `user` ( id int( 11 ) NOT NULL AUTO_INCREMENT, user char( 1 ) NOT NULL default '', online char( 1 ) NOT NULL default '', pseudo varchar( 30 ) NOT NULL default '', name varchar( 20 ) NOT NULL default '', surname varchar( 20 ) NOT NULL default '', email varchar( 30 ) NOT NULL default '', mdp varchar( 30 ) NOT NULL default '', mdp_secure varchar( 30 ) NOT NULL default '', mdp_random varchar( 255 ) NOT NULL default '', private_question varchar( 255 ) NOT NULL default '', private_reponse varchar( 255 ) NOT NULL default '', PRIMARY KEY ( id ) , UNIQUE KEY id( id ) ) TYPE = MYISAM
Astuce: tu crées une table en mode "assistant" et puis tu fais "exporter" au format SQL. Ca te donnera une idée de la syntaxe supportée par MySQL.