使用sql语句创建user表报错错误代码1005,一般情况下1005错误是主键或外键有问题,但是这次的情况有点特殊:

sql语句如下,在test数据库中创建一个user表:

1
2
3
4
5
6
7
USE test;

CREATE TABLE `user` (
`name` VARCHAR(50) NOT NULL,
`password` VARCHAR(64) NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

报错信息:

image-20201116175907307

使用ui界面(此处使用的sqlyog)创建也报错:

image-20201116180210265

错误原因:

不能创建表名为user的表,相当于user是一个保留表名(低版本的mysql好像没有我这样的限制,我的版本是8.0有这样的限制)

解决方法:

不要使用user表名,比如我换成其他表名,其余的都不改,就能创建成功

image-20201116180734963

image-20201116180815383


likeqc
ends