mysql near_完美解决 ERROR 1064 (42000): You have an error in your SQL syntax ... near …

在MySQL命令行使用sql语句进行建表时,MySQL 报错,这个问题之前遇到过几次,但是总是会因为疏忽又相遇,今天把这个问题写出来,加深印象吧。

sql语句:CREATE TABLE 'lrs_audit_rule_package'(

'id' BIGINT(20) AUTO_INCREMENT PRIMARY KEY COMMENT '主键',

'package_code' varchar(6)  NOT NULL COMMENT '规则包',

'package_type' varchar(2)  NOT NULL COMMENT '规则包类型',

'package_desc' varchar(100)  COMMENT '描述',

'create_time' datetime DEFAULT NULL COMMENT '创始时间',

'modified_time' datetime DEFAULT NULL COMMENT '修改时间'

) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='审核规则包';

看上去这条sql语句确实没毛病,但是运行起来就是报错报错信息: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 ''lrs_audit_rule_package'(

'id' BIGINT(20) AUTO_INCREMENT PRIMARY KEY COMMENT ' at line 1

其实这个问题就是语法上的错误,在MySQL中,为了区分MySQL的关键字与普通字符,MySQL引入了一个反引号。详情见:https://dev.mysql.com/doc/refman/5.5/en/keywords.html

在上述的sql语句中,列名称使用的是单引号而不是反引号,所以会就报了这个错误出来。修改后CREATE TABLE `lrs_audit_rule_package`(

`id` BIGINT(20) AUTO_INCREMENT PRIMARY KEY COMMENT '主键',

`package_code` varchar(6)  NOT NULL COMMENT '规则包',

`package_type` varchar(2)  NOT NULL COMMENT '规则包类型',

`package_desc` varchar(100)  COMMENT '描述',

`create_time` datetime DEFAULT NULL COMMENT '创始时间',

`modified_time` datetime DEFAULT NULL COMMENT '修改时间'

) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='审核规则包';

再次运行就不会报错了,但是有一点需要注意,后面列的注释不能用反引号,因为这只是一个普通字符串,不是MySQL的关键字。

在英文键盘输入环境下,按图示按钮输入反引号 `

5936ec7ac4722ce09c3314f9e7330ab7.png

欢迎来到技术之家,

如需转载,烦请保留本文链接和出处:http://www.jszja.com/contents/97/2261.html

您的支持将是我们前进的动力!如对本篇文章有疑问或建议,请通过本站下方邮箱联系我们,让技术之家每天进步一点点!(●'◡'●)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值