我使用的是 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 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行 ''a1', 'a2') VALUES('hello', 'world')' 附近使用的正确语法
我尝试修改 AUTO_INCRMENT,包括主键,如下所示
INSERT INTO test ('id', 'a1', 'a2') VALUES (NULL,'hello', 'world');
但是没有任何效果。总是同样的错误。
我找不到任何可以解决此问题的答案。如何进行?
最佳答案
您不应该在列名称中使用 '
单引号
INSERT INTO test ('a1', 'a2') VALUES ('hello', 'world');
相反
INSERT INTO test (a1, a2) VALUES ('hello', 'world');
关于MySQL 错误消息 "#1064 - You have an error...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46511129/