我试图修改一个既没有主键也没有自动递增列的表.我知道如何添加主键列,但我想知道是否有可能自动将数据插入主键列(我在DB中已经有500行了,我想给它们id,但我不想手动这样做).有什么 idea 吗?谢谢.

推荐答案

在我的测试中,添加PRIMARY KEY列的ALTER TABLE语句是正确的:

ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT;

在为测试目的创建的临时表上,上面的语句创建了AUTO_INCREMENTid列,并为表中的每个现有行插入了自动增量值,从1开始.

Mysql相关问答推荐

如何在SQLAchemy for MYSQL中将字面量转换为表达?

拒绝非超级用户访问停靠的MariaDB(超级用户工作)

Google Sheet查询以提取数据并用值替换复选框.(差异)

SQL:创建新列并将现有表中的值追加到新创建的列中

仅获取我不是最后一个 comments 者的博客帖子

在MySQL的join查询中进行计算

如何确保 SQL 记录的列不引用它自己的主键?

数据导入和默认目标架构空列表. (Mysql 工作台 8)

将时间戳四舍五入到最接近的半小时而不遗漏丢失的数据

基于多个 where 子句在规范化表中查找公共 ID(值)

如何根据购买的商品数量查找 unique_ids 的数量

MySQL 可以用于将列表排序为三分之三吗?

为什么以及如何将 Django filter-by BooleanField 查询转换为 SQL WHERE 或 WHERE NOT 而不是 1/0?

一次更新mysql中的多个列

MySQL IF() 函数根据指定条件执行代码块

FreeBASIC 中的 MySQL 访问读取

无法在两个 mysql 表上执行内部联接

MySQLi count(*) 总是返回 1

在 Android 上运行 AMP (apache mysql php)

我可以在单个 Amazon RDS 实例上创建多少个数据库