为什么这个SQL INSERT语句会返回语法错误?

The*_*nja 2 mysql sql

好吧,我有一个非常简单的mysql数据库,但当我尝试通过mysql-admin运行此查询时,我得到奇怪的错误

INSERT INTO customreports(研究,类型,模式,选择,描述)VALUES('1','2','3','4','5');

错误:

1064 - 您的SQL语法出错; 查看与您的MySQL服务器版本对应的手册,以便在第1行使用"select,description"VALUES('1','2','3','4','5')附近的正确语法

cha*_*aos 13

您遇到问题是因为您使用SQL保留字作为列名而不是转义它们.试试这样:

INSERT INTO `customreports`
(`study`, `type`, `mode`, `select`, `description`)
VALUES
('1', '2', '3', '4', '5');
Run Code Online (Sandbox Code Playgroud)

  • +1这是正确的答案,但我肯定会将字段名称更改为非保留字.对对象名称使用保留字会让您和所有追随您的人感到头疼. (6认同)