使用联结表插入数据

时间:2012-01-17 00:30:56

标签: php mysql codeigniter

我正在使用CodeIgniter中的联结表进行我的第一个主要数据库设计,我不太清楚如何处理数据插入。

假设我有两张桌子some_table& another_table,带有联结表some_another。现在,如果我想将记录添加到some_table,是否还要为联结表编写单独的插入查询,或者是否有更好,更自动化的方法来处理此问题?

例如,我是否必须这样做:

INSERT INTO some_table (col1, col2, col3) VALUES (val1, val2, val3)

INSERT INTO some_another (col01, col02) VALUES (val01, val02)

对于每条记录,还是有办法或工具处理也为我更新联结表?

如果我还有其他信息,请告知我们。谢谢!

1 个答案:

答案 0 :(得分:0)

取决于“联结表”的目的。如果您只想在其他两个表之间连接所有记录,请使用连接。如果你想要“多对多”的相关性,那么实际上并没有一种自动的方式来知道应该关联哪些。

但是,如果您想模拟连接并简单地将所有关系“预加载”到多对多表中(如果您希望以后可以禁用或操作默认关系,则非常有用),您可以使用触发器这一点。

无论如何,您需要对每个表使用单独的查询,因为MySQL无法通过单个查询插入到多个表中。