给出AUTO_INCREMENT值时,只能有一个自动列错误

时间:2018-01-30 09:26:31

标签: mysql sql

我在尝试创建表时使用phpMyAdmin。

定义如下

  CREATE TABLE `koment` (
 `movieID` int(11) NOT NULL,
 `userID` int(11) NOT NULL,
 `id` int(11) NOT NULL,
 `text` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`movieID`,`userID`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

我想将id作为自动增量变量,但似乎我不能这样做,即使它是主键(我需要id属性,因为用户可以在同一部电影)。所以我不明白为什么我仍然会收到此错误。提前谢谢。

2 个答案:

答案 0 :(得分:3)

我建议您在示例中明确PRIMARY KEY AUTO_INCREMENTUNIQUE KEY

CREATE TABLE `koment` (
 `movieID` int(11) NOT NULL,
 `userID` int(11) NOT NULL,
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `text` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`),
 UNIQUE KEY (`movieID`,`userID`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

答案 1 :(得分:2)

  CREATE TABLE `koment` (
 `movieID` int(11) NOT NULL,
 `userID` int(11) NOT NULL,
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `text` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`movieID`,`userID`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1