mysql - 如何在 MySQL 中使用自动增量字段复制行并插入到同一个表中?

标签 mysql sql insert copy

在 MySQL 中,我试图将具有 autoincrement column ID=1 的行和 insert 数据复制到同一个表中作为新的column ID=2 的行。

如何在单个查询中执行此操作?

最佳答案

使用 INSERT ... SELECT:

insert into your_table (c1, c2, ...)
select c1, c2, ...
from your_table
where id = 1

其中c1, c2, ... 是除id 之外的所有列。如果您想使用 2 的 id 显式插入,则将其包含在 INSERT 列列表和 SELECT 中:

insert into your_table (id, c1, c2, ...)
select 2, c1, c2, ...
from your_table
where id = 1

当然,在第二种情况下,您必须注意可能重复的 id 为 2。

关于mysql - 如何在 MySQL 中使用自动增量字段复制行并插入到同一个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9156340/

相关文章:

javascript - FooTable 插件日期时间问题

mysql - 如何创建 SQL 查询来获取比较两列具有更高值的所有项目

mysql - 无法连接到 MySQLCC ERROR 1043 Bad Handshake 上的 MySQL 服务器

mysql - 数据库查询永远加载

iOS UITableViewController - 插入并滚动到底部 - 有时会跳跃

mysql - mysql如何自动插入数据到外键?

php - 交响乐 : Doctrine data fixture : how to handle large csv file?

mysql - 使用同一表中的列更新行

sql - MySQL SELECT 从一组从 INFORMATION_SCHEMA 检索的表中

sql - 插入临时值(选择....按 ID 排序)