SQL执行错误#1064---保留字错误

Posted 从此寂静无声

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL执行错误#1064---保留字错误相关的知识,希望对你有一定的参考价值。

CREATE TABLE IF NOT EXISTS `change` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `creator` VARCHAR(45) NOT NULL,
  `description` VARCHAR(2048) NULL,
  `supervisor` VARCHAR(45) NOT NULL,
  `created_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `planed_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `executor` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB

以上为change的建表语句.

insert into change (creator, description, supervisor, executor) values (‘1111‘, ‘1‘, ‘111‘, ‘111‘);

执行以上insert操作时,报SQL执行错误 #1064错误.
误以为时sql语句书写错误,检查良久之后确认无误.
突然联想到change可能是mysql保留字,网上搜索后验证猜想.
因此,对change保留字添加反引号解决.

insert into `change` (creator, description, supervisor, executor) values (‘1111‘, ‘1‘, ‘111‘, ‘111‘);



以上是关于SQL执行错误#1064---保留字错误的主要内容,如果未能解决你的问题,请参考以下文章

SQL对象命名使用保留字导致SQL Error: 1064, SQLState: 42000

SQL对象命名使用保留字导致SQL Error: 1064, SQLState: 42000

SQL对象命名使用保留字导致SQL Error: 1064, SQLState: 42000

关于MySQL的1064错误

为啥我的脚本在执行时出现错误 1064

[42000][1064] SQL 错误:无法在 DataGrip 中执行新表。