我需要创建用于在许多表中插入的 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/