如何将AUTO_INCREMENT添加到现有列?
如何将auto_increment
添加到MySQL表的现有列?
我想你想MODIFY
ALTER TABLE
命令所描述的列。 这可能是这样的:
ALTER TABLE t1 MODIFY b INTEGER NOT NULL AUTO_INCREMENT;
将AUTO_INCREMENT添加到带有数据的表格的方法,同时避免“ 重复input ”错误:
-
使用INSERT SELECT对数据进行复制:
CREATE TABLE backupTable LIKE originalTable; INSERT backupTable SELECT * FROM originalTable;
-
从originalTable中删除数据(删除重复的条目):
TRUNCATE TABLE originalTable;
-
添加AUTO_INCREMENT 和 PRIMARY KEY
ALTER TABLE originalTable ADD id INT PRIMARY KEY AUTO_INCREMENT;
-
将数据复制回originalTable(不要包含新创build的列(id),因为它会自动填充)
INSERT originalTable (col1, col2, col3) SELECT col1, col2,col3 FROM backupTable;
-
删除backupTable:
DROP TABLE backupTable;
我希望这是有用的!
更多关于使用CREATE LIKE重复表格:
复制一个MySQL表,索引和数据
Alter table table_name modify column_name datatype(length) AUTO_INCREMENT PRIMARY KEY
你应该添加主键自动增量,否则你在mysql中出错。
如果你想改变非空表的AUTO_INCREMENT属性,这对我有用:
1.)将整个表格导出为.sql文件
2.)导出后删除表
2.)在CREATE_TABLE命令中需要更改
3.)从.sql文件中执行CREATE_TABLE和INSERT_INTO命令
…中提琴
只需在列或修改列中添加auto_increment约束: –
ALTER TABLE `emp` MODIFY COLUMN `id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;
或先添加一列,然后更改列 –
1. Alter TABLE `emp` ADD COLUMN `id`; 2. ALTER TABLE `emp` CHANGE COLUMN `id` `Emp_id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;