mysql表增加新的主键(mysql新增主键字段)

mysql表增加新的主键(mysql新增主键字段)

编程文章jaq1232025-04-28 22:00:1711A+A-


MySQL 中,给一张没有主键且有大量数据的表添加主键需要谨慎操作,尤其是当表中有大量数据时

1. 检查表结构

首先,查看表结构,确认没有主键:

DESCRIBE your_table_name;

2. 选择合适的主键

选择一个合适的列作为主键,或者创建一个新的自增列作为主键。如果表中没有合适的列,可以添加一个自增列:

ALTER TABLE your_table_name ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY;

3. 添加主键

如果已有合适的列,直接将其设为主键:

ALTER TABLE your_table_name ADD PRIMARY KEY (your_column_name);

4. 处理大量数据

对于大表,直接添加主键可能导致锁表或性能问题。可以分步操作:

1 添加新列(如自增列)

ALTER TABLE your_table_name ADD COLUMN id INT AUTO_INCREMENT;

2 分批更新数据

UPDATE your_table_name SET id = (SELECT @row := @row + 1 FROM (SELECT @row := 0) r) LIMIT 1000;

重复执行,直到所有数据更新完毕。

3 添加主键

ALTER TABLE your_table_name ADD PRIMARY KEY (id);


5. 验证主键

DESCRIBE your_table_name;
点击这里复制本文地址 以上内容由jaq123整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

苍茫编程网 © All Rights Reserved.  蜀ICP备2024111239号-21