mysql - 将选择结果插入到多个表中

标签 mysql

我正在尝试将数据从旧表迁移到两个不同的表中。我很好奇是否有办法执行如下操作。

INSERT INTO table1(v1, v2)
INSERT INTO table2(LAST_INSERT_ID(), v3)
SELECT v1, v2, v3 FROM old_table

我必须为此编写一个程序吗?

最佳答案

不,这是不可能的。您需要发出两个单独的插入语句。

INSERT INTO table1(v1, v2)
SELECT v1, v2, v3, v4 FROM old_table;

INSERT INTO table2(v3, v4)
SELECT v1, v2, v3, v4 FROM old_table;

您可以将其包含在事务中。

但是,如果您有更复杂的需求,并且可能会将相同的数据插入到您不想手动键入的多个表中,则可以在过程中编写循环并执行提供表名和列名的动态语句。 INFORMATION_SCHEMA表将是一个很好的起点。

关于mysql - 将选择结果插入到多个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39205816/

相关文章:

MySQL控制台错误未知选项 '--root'

mysql - MS Access 2010 ODBC 连接到 MySQL

php - Bootstrap - 垂直显示数据库中的类别并按字母顺序排列在多行中

php - 将文件夹路径替换为html内容

mysql - 在单个查询中组合 2 个更新查询 - 性能

mysql - Mysql 自动生成的 PK 用于另一个表和 JPA 的问题

mysql - org.springframework.dao.InvalidDataAccessResourceUsageException : could not extract ResultSet;

mysql - Phalcon 原始查询

php - 如何从 mySQL 中的索引字段输出其他表的值?

php - 使用 PHP 从 iOS 应用程序向数据库提交数据时出错