我正在尝试从命令行(Debian)创建一个表,但它一直说我的语法出现了错误。在我看来,它看起来很好,我已经让两个不同的人检查了,他们也找不到这个问题。
CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT,
uuid VARCHAR(32) NOT NULL,
key VARCHAR(50) NOT NULL
);一名男子说删除不零,但我仍然有同样的问题。
发布于 2016-01-23 18:43:40
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`));发布于 2016-01-23 18:57:26
--对不起,
对于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;发布于 2016-01-23 19:48:46
MySQL有许多不能用作列名的保留关键字。在这里,您使用key作为列名,由于它是MySQL中的保留关键字,因此需要将列名更改为非保留关键字。
您可以找到不能用作列名这里的保留关键字的完整列表。
https://stackoverflow.com/questions/34967265
复制相似问题