创建 MySql table 时出错
Error while creating a MySql table
我正在尝试从我的命令行 (Debian
) 创建一个 table,但它一直说我的语法有错误。对我来说它看起来不错,我已经让 2 个不同的人检查过,他们也找不到问题。
CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT,
uuid VARCHAR(32) NOT NULL,
key VARCHAR(50) NOT NULL
);
有人说删除 NOT NULL 但我仍然遇到同样的问题。
KEY 是保留字 尝试用 my_key
更改
CREATE TABLE users (id INT( 6) UNSIGNED AUTO_INCREMENT,
uuid VARCHAR(32) NOT NULL,
my_key VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`));
您在第三列中使用的列名"key"是保留字,您只需更改名称即可。
好吧,人们可能无法知道一种编程语言中所有现有的关键字,但可以通过使用支持 colour-code 的文本编辑器或集成开发环境(IDE 来帮助 himself/herself ) 编写代码时。很有帮助。
对不起,
对于 AUTO_INCREMENT 字段,您必须在此列上有一个键。
所以这有效:
CREATE TABLE `user` (
`id` int(6) unsigned NOT NULL AUTO_INCREMENT,
`uuid` varchar(32) DEFAULT NULL,
`key` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
MySQL 有很多不能用作列名的保留关键字。这里你使用 key
作为列名,因为它是 MySQL 中的保留关键字,你需要将列名更改为不是保留关键字的名称。
您可以找到不能用作列名的保留关键字的完整列表here。
我正在尝试从我的命令行 (Debian
) 创建一个 table,但它一直说我的语法有错误。对我来说它看起来不错,我已经让 2 个不同的人检查过,他们也找不到问题。
CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT,
uuid VARCHAR(32) NOT NULL,
key VARCHAR(50) NOT NULL
);
有人说删除 NOT NULL 但我仍然遇到同样的问题。
KEY 是保留字 尝试用 my_key
更改 CREATE TABLE users (id INT( 6) UNSIGNED AUTO_INCREMENT,
uuid VARCHAR(32) NOT NULL,
my_key VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`));
您在第三列中使用的列名"key"是保留字,您只需更改名称即可。
好吧,人们可能无法知道一种编程语言中所有现有的关键字,但可以通过使用支持 colour-code 的文本编辑器或集成开发环境(IDE 来帮助 himself/herself ) 编写代码时。很有帮助。
对不起,
对于 AUTO_INCREMENT 字段,您必须在此列上有一个键。
所以这有效:
CREATE TABLE `user` (
`id` int(6) unsigned NOT NULL AUTO_INCREMENT,
`uuid` varchar(32) DEFAULT NULL,
`key` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
MySQL 有很多不能用作列名的保留关键字。这里你使用 key
作为列名,因为它是 MySQL 中的保留关键字,你需要将列名更改为不是保留关键字的名称。
您可以找到不能用作列名的保留关键字的完整列表here。