sql - 如何将行插入到新表中并更新传输项目的主键?

标签 sql mysql

新表有一个自动增量,我想将其用于我正在传输的数据。

这是我要运行的查询。

INSERT INTO `xyz_1mydata` SELECT * FROM `xyz_1production`  WHERE `xyz_1production.Id`  > '12000';

我不想替换 #_1mydata 中的现有项目。

最佳答案

列出您要在查询中传输的所有字段。在这种情况下,除了 Id 字段之外的每个字段。这样,插入 xyz_1mydata 的行将获得新生成的 ID。

INSERT INTO xyz_1mydata (field1, field2, ...)
    SELECT field1, field2, ... FROM xyz_1production...

关于sql - 如何将行插入到新表中并更新传输项目的主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2574612/

相关文章:

sql - 带有 last_insert_id() 的 Mysql 多行插入选择语句

mysql - 如何在mysql中进行模糊查询? 1表10GB数据,8KW记录

php - 乔姆拉!查询无结果

php - 在运行 MySQL 之前验证 PHP 中的变量?

php - 简单查询错误

SQL插入多语言数据 - 丢失变音符号等

mysql - 在某些 unix 时间戳之间寻找 mysql 行

mysql - create table 和 create table as 的区别

sql - 列与取消透视表列表中其他列的类型冲突

php - 如何将变量插入 Kohana DB::expr 中?