Don*_*kby 96
我想你想要MODIFY对该ALTER TABLE命令所描述的列.它可能是这样的:
ALTER TABLE users MODIFY id INTEGER NOT NULL AUTO_INCREMENT;
Run Code Online (Sandbox Code Playgroud)
在运行之前,请确保该id列具有主索引.
Ari*_*sta 16
将AUTO_INCREMENT添加到包含数据的表,同时避免" 重复输入 "错误的方法:
使该表的副本与使用INSERT SELECT中的数据:
CREATE TABLE backupTable LIKE originalTable;
INSERT backupTable SELECT * FROM originalTable;
Run Code Online (Sandbox Code Playgroud)从originalTable中删除数据(删除重复的条目):
TRUNCATE TABLE originalTable;
Run Code Online (Sandbox Code Playgroud)添加AUTO_INCREMENT 和 PRIMARY KEY
ALTER TABLE originalTable ADD id INT PRIMARY KEY AUTO_INCREMENT;
Run Code Online (Sandbox Code Playgroud)数据复制回originalTable(做不包括新创建的列(id),因为它将自动填充)
INSERT originalTable (col1, col2, col3)
SELECT col1, col2,col3
FROM backupTable;
Run Code Online (Sandbox Code Playgroud)删除backupTable:
DROP TABLE backupTable;
Run Code Online (Sandbox Code Playgroud)我希望这很有用!
有关使用CREATE LIKE重复表的更多信息:
小智 10
Alter table table_name modify column_name datatype(length) AUTO_INCREMENT PRIMARY KEY
Run Code Online (Sandbox Code Playgroud)
您应该将主键添加到自动增量,否则您在mysql中出错.
只需在列或MODIFY COLUMN中添加auto_increment约束即可:-
ALTER TABLE `emp` MODIFY COLUMN `id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;
Run Code Online (Sandbox Code Playgroud)
或先添加一列,然后将其更改为-
1. Alter TABLE `emp` ADD COLUMN `id`;
2. ALTER TABLE `emp` CHANGE COLUMN `id` `Emp_id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103709 次 |
| 最近记录: |