创建表使用关键字当作列名导致的报错[通俗易懂]

创建表使用关键字当作列名导致的报错[通俗易懂]也有报错,确认是这里导致的报错,经过仔细观察应该是字段名用了关键字key导致的,修改字段名试试:正常创建了。

欢迎大家来到IT世界,在知识的湖畔探索吧!

背景:

根据开发给的sql创建表,创建失败

mysql> create table zss (

a bigint(20) unsigned AUTO_INCREMENT COMMENT ‘自增主键’,

b_id varchar(64) BINARY NOT NULL DEFAULT ” COMMENT ‘账号ID’,

c tinyint NOT NULL COMMENT ‘状态 0: 好, 1: 很好, 2:非常好’,

d_time datetime DEFAULT ‘2000-11-08 00:00:00’ COMMENT ‘开始时间’,

key varchar(25) NOT NULL DEFAULT ” COMMENT ‘标识’,

e_time datetime NOT NULL DEFAULT ‘2000-09-01 00:00:00’ COMMENT ‘时间’,

PRIMARY KEY(a),

UNIQUE accid(b_id asc)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 COMMENT=’a’;

ERROR 1064 (42000): 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 ‘varchar(25) NOT NULL DEFAULT ” COMMENT ‘标识’,

d_time datetime ‘ at line 6

mysql>

处理过程:

根据报错:第6行有问题

在自己的测试环境,测试创建这个字段是否正常

mysql> create table jj(key varchar(25) NOT NULL DEFAULT ” COMMENT ‘标识’);

ERROR 1064 (42000): 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 ‘varchar(25) NOT NULL DEFAULT ” COMMENT ‘用户标识’)’ at line 1

也有报错,确认是这里导致的报错,经过仔细观察应该是字段名用了关键字key导致的,修改字段名试试:正常创建了

mysql> create table jj(key1 varchar(128) NOT NULL DEFAULT ” COMMENT ‘标识’);

Query OK, 0 rows affected (0.34 sec)

总结:

在创建表时,如果有报错,应根据报错提示的行号进行排查,如果无法一眼发现问题,可以在自己的测试环境测试创建这个行号对应的字段,确认是否是这个字段导致的

创建表使用关键字当作列名导致的报错[通俗易懂]

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/22848.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信