MySQL错误消息“#1064 - 您有错误...”

时间:2017-10-01 09:40:31

标签: mysql sql insert

我正在使用MySQL 5.6.33。

我的表定义是:

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;

执行INSERT声明

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

抛出丑陋的错误消息

#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

我尝试修改AUTO_INCREMENT,包括

中的主键
INSERT INTO test ('id', 'a1', 'a2') VALUES (NULL,'hello', 'world');

但没有任何作用。总是出现同样的错误。

我找不到任何可以解决这个问题的答案。怎么办?

1 个答案:

答案 0 :(得分:2)

您不希望在列名

中使用'单引号
INSERT INTO test ('a1', 'a2') VALUES ('hello', 'world');

而不是

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