我正在使用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');
但没有任何作用。总是出现同样的错误。
我找不到任何可以解决这个问题的答案。怎么办?
答案 0 :(得分:2)
您不希望在列名
中使用'
单引号
INSERT INTO test ('a1', 'a2') VALUES ('hello', 'world');
而不是
INSERT INTO test (a1, a2) VALUES ('hello', 'world');