MySQL LAST_INSERT_ID() 与 INSERT INTO 表 SELECT FROM 表

标签 mysql lastinsertid insert-select

是否可以使用目标表中的LAST_INSERT_ID更新表?

INSERT INTO `target` SELECT `a`, `b` FROM `source`

目标表有一个自动增量键id,我想将其存储在表中以供进一步使用。

如果这样的事情成为可能的话,将为我节省大量的计算能力:)

最佳答案

执行后立即:

INSERT INTO `target` SELECT `a`, `b` FROM `source`

调用 source 表的更新,如下所示:

UPDATE `source` 
SET field_name = LAST_INSERT_ID() 
WHERE col_name_x = some_value_or_expression

更改列名和where条件然后执行。

关于MySQL LAST_INSERT_ID() 与 INSERT INTO 表 SELECT FROM 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22995160/

相关文章:

MySQL - INSERT INTO table SELECT WHERE field IN(子查询) - 使用 IN 使事情变得非常慢,正确的方法是吗?

mysql - INSERT SELECT WHERE 从常量插入多行

PHP:调用 file.php 中非对象的成员函数 fetch_assoc()

php - 对mySql命令获取meta信息?

php - 选择 LAST_INSERT_ID() *更新

javascript - 如何从 JayData 事务中获取最后插入的 ID?

php - 用于 PHP session 的 mySQL 和 memcached?

使用 Coalesce 的 Mysql 查询不会更新行

php - PDO lastInsertId() 总是返回 0

mysql - 使用选择插入