2017-10-01 10 views
0

J'utilise MySQL 5.6.33.Message d'erreur MySQL "# 1064 - Vous avez une erreur ..."

Ma définition de la table est:

CREATE TABLE test (
    id int(11) NOT NULL AUTO_INCREMENT, 
    a1 varchar(255) NOT NULL, 
    a2 varchar(255) NOT NULL, 
    PRIMARY KEY (id) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 

Exécution d'une instruction INSERT

INSERT INTO test ('a1', 'a2') VALUES ('hello', 'world'); 

lance le message d'erreur laid

#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 ''a1', 'a2') VALUES('hello', 'world')' at line 1

J'ai essayé de modifier le AUTO_INCREMENT, incluing primaire clé comme dans

INSERT INTO test ('id', 'a1', 'a2') VALUES (NULL,'hello', 'world'); 

Mais rien ne fonctionne. Toujours la même erreur.

Je n'ai pas trouvé de réponse sur SO qui pourrait résoudre ce problème. La façon de procéder?

+0

parce que vous avez écrit le script laid. – Ravi

+0

Ups, comment cela se rapporte-t-il à une réponse? Pourquoi mon script est laid? – WeSee

Répondre

2

Votre sont supposés ne pas utiliser les guillemets simples ' avec nom de la colonne

INSERT INTO test ('a1', 'a2') VALUES ('hello', 'world'); 

au lieu

INSERT INTO test (a1, a2) VALUES ('hello', 'world'); 
+0

ok, c'est tout. THX. – WeSee

+0

@Ravi, vous ROCK. Comment devenir bon en MySQL, je suis vos messages pendant quelques jours et très impressionné par vous :) – RavinderSingh13

+0

@ RavinderSingh13 haha ​​.. c'est très basique. ;) – Ravi