[42000][1064] You have an error in your SQL syntax问题解决!!!

本文详细介绍了在MySQL中创建表时遇到的语法错误,错误原因是使用了单引号而非反引号来包围关键字。通过将单引号改为反引号,问题得到解决。文章强调了在MySQL中正确区分关键字和普通字符的重要性,并提供了相关参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我输入下面一段代码的时候:

create TABLE 'items'(
         'id' int(11) NOT NULL AUTO_INCREMENT,
         'name' varchar(32) NOT NULL COMMENT '商品名称',
         'price' float(10,1) NOT NULL COMMENT '商品定价',
         'detail' text COMMENT '商品描述',
         'pic' varchar(64) DEFAULT  NULL COMMENT  '商品图片',
         'createtime' datetime NOT NULL  COMMENT '生产日期',
          PRIMARY KEY ('id')
         )ENGINE=InnoDB DEFAULT  CHARSET =utf8

系统报错:

[2022-06-30 14:09:55] [42000][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 ''items'(
[2022-06-30 14:09:55] 'id' int(11) NOT NULL AUTO_INCREMENT,
[2022-06-30 14:09:55] 'name' varchar(32) NOT NULL COM' at line 1

 改成下面一段后:

create TABLE `items`(
         `id` int(11) NOT NULL AUTO_INCREMENT,
         `name` varchar(32) NOT NULL COMMENT '商品名称',
         `price` float(10,1) NOT NULL COMMENT '商品定价',
         `detail` text COMMENT '商品描述',
         `pic` varchar(64) DEFAULT  NULL COMMENT  '商品图片',
         `createtime` datetime NOT NULL  COMMENT '生产日期',
          PRIMARY KEY (`id`)
         )ENGINE=InnoDB DEFAULT  CHARSET =utf8

代码运行成功:

 查阅资料后:

在MySQL中,为了区分MySQL的关键字与普通字符

关键字采用反引号`name`(ESC下面那个波浪键~)

普通字符采用 引号'abc'

也就是上述的关键字`name` 和普通字符'商品定价'
错误的原因事数据库名称和关键字使用的是单引号而不是反引号,

所以会就报了这个错误出来。

思路源于下面的文章:

https://blog.csdn.net/hhdhz/article/details/85334127

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值