我有 table ,我试着添加
`id` int(11) NOT NULL auto_increment,
到 table 上,但我得到了
ERROR 1075: Incorrect table definition; There can only be one auto column and it must be defined as a key
所以问题是:
- 我如何找到哪一个是关键列
- 我可以毫无问题地更改它并添加新的 ID 字段(使用自动增量)吗?
最佳答案
如果表已经创建,使用 ALTER:
ALTER TABLE `table` ADD COLUMN `id` INT(11) NOT NULL AUTO_INCREMENT,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`id`)
如果正在创建表,则必须将 auto_increment 设置为主键:
CREATE TABLE IF NOT EXISTS `database`.`table` (
`id`INT(11) NOT NULL AUTO_INCREMENT ,
`a` VARCHAR(45) NULL ,
`b` VARCHAR(255) NULL ,
`c` VARCHAR(45) NULL ,
PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci
关于mysql - 自增Id和key问题(MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5318611/