Erreur mysql #1064

Résolu
calamar31 -  
 cyber909 -
Bonjour,
je suis débutant en mysql et j'ai beau regarder je ne trouve pas l'erreur de syntaxe :
php:
$command = CREATE TABLE 'test' ('truc' VARCHAR NOT NULL , '1' INT(30) NOT NULL , 'truc' VARCHAR NOT NULL);

SQL:
CREATE TABLE 'test'(
'ca marche' VARCHAR NOT NULL , '1' INT(30) NOT NULL , 'peu bien' VARCHAR NOT NULL
)

message d'erreur
php:
Parse error: syntax error, unexpected T_STRING in C:\wamp\www\testdb.php on line 3

SQL
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''test' ('ca marche' VARCHAR NOT NULL , '1' INT(30) NOT NULL , 'peu bien' VARCHAR NOT NULL)' at line 1

merci beaucoup pour vos réponses



4 réponses

joomliner Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   36
 
Bonjour

Premièrement, la totalité de la chaine devrait être entouré de guillemets pour pouvoir la mettre dans la variable $command

Voici une version fonctionnelle de votre requête de création de table :


CREATE TABLE IF NOT EXISTS test (ca_marche VARCHAR(10) NOT NULL, un INT(30) NOT NULL, peu_bien VARCHAR(10) NOT NULL);



Ce que j'ai fait :

1. enlever le nom des champs et le nom de table d'entre les apostrophes.
2. le caractère espace est peu conseillé dans le nom d'un champs, je l'ai donc remplacé par "_".
3. J'ai spécifié une taille aux champs de type VARCHAR
4. le nom de champs numérique '1' donnait une erreur - je l'ai transformé en "un"
5. Optionnellement, la mention "IF NOT EXISTS" fut ajoutée pour ne pas générer une erreur si la table est déjà existante dans la base de données cible.

Bon succès!
1
calamar31
 
ça marche , merci beaucoup pour ces petits conseil
0
joomliner Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   36
 
Hey! super,
si autres problèmes similaires, faites moi le savoir, c'est samedi !!!

Et ce fut un plaisir,

0
cyber909
 
Bonjour Joomliner,

J'ai moi aussi un problème avec un import de BDD sur mysql et je nage....
Un peu d'aide me serait d'un grand secours...!

l'erreur:

requête SQL:

"1,""PS_LANG_DEFAULT"",""2"",""2011-12-07 03:53:08"",""2011-12-07 03:55:47"""

MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"1,""PS_LANG_DEFAULT"",""2"",""2011-12-07 03:53:08"",""2011-12-07 03:55:47"""' at line 1

Ma base de données ressemble à ça:

1,"PS_LANG_DEFAULT","2","2011-12-07 03:53:08","2011-12-07 03:55:47" je précise que c'est une base de prestashop...

Merci par avance !
0