MySQL 为依赖表生成 sql 插入

标签 mysql sql insert dependencies generator

我需要创建用于在许多表中插入的 sql 脚本 - 总数接近 2000,但表链接(它是一个 xml 邻接模型) - 所以在插入 table1 之后,接收 id,添加一些数据,插入到 table2 的 fk -之前的 id 和数据,在为表 3 重复之后,为表 4,... 链接表链的长度 - 超过 20。 问题是:是否存在一些代码生成器可以从信息模式中读取表之间的关系,并且 - 在将某个表作为根节点之后 - 生成所有插入查询树? 谢谢。

最佳答案

如果你不能在应用层做,我建议尝试用Triggers做。 .

本质上,您将在每个表上创建一个“AFTER INSERT”触发器。像那样:

CREATE TRIGGER t1
AFTER INSERT ON table1
FOR EACH ROW
BEGIN
INSERT INTO table2 (id, attrib2) VALUES(NEW.id, NEW.attrib2);
END

CREATE TRIGGER t2
AFTER INSERT ON table2
FOR EACH ROW
BEGIN
INSERT INTO table3 (id, attrib3) VALUES(NEW.id, NEW.attrib3);
END

然后,对 table1 的插入将触发对 table2 的插入,这将触发对 table3 的插入,依此类推。

关于MySQL 为依赖表生成 sql 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6475149/

相关文章:

php - 在 PHP 中向排序数组中插入元素有哪些更好的方法

php - 选择用户喜欢的推文中的所有喜欢

php - 我的插入查询失败了什么?

mysql - mysql select中的计数语句

sql - 在 MySQL 一对多中加入新列

mysql - 如果mysql上只有数据则显示数据总和

php - 如何使数百个类似的 MySQL 查询更高效?

java - spring data jpa @Query 枚举类型不返回数据

c# - 如何在sql数据库后端插入2个值的总和

mysql - 如何抑制mysql中的插入