在有4个连接表的数据库中,我如何将数据插入到一个表中并将数据级联到其他3个表中?



我有4个表:狗,主人,品种,和owners_dogs。

每个表都有自己的主键id,其中owners_dogs是连接表。

现在我要INSERT INTO dogs, 1个主人,同时他的2只狗到dogs表。此外,我想在owner表中再插入2个所有者,每个所有者拥有1只单独的狗。

我看到插入owner表不会更新结表,也不会更新狗表。

我只是添加一个owner_id到连接表首先,然后使用相同的id插入到owner_table时?

这是有问题的,因为您不能为属于owners表的其他列指定值。

也就是说,我假设owners表有用于所有者姓名、电子邮件和可能的其他属性的列。但是如果您使用INSERT INTO dogs甚至INSERT INTO owners_dogs,则只能为这些表的列指定值。

你可以写一个触发器来插入一行到owners表,但你必须依赖默认值或其他东西。然后可以使用UPDATE owners来设置其他属性。但是,如果您必须执行第二个SQL语句来填充其他属性,那么为什么不在后续插入中引用之前将其作为INSERT INTO owners呢?

相关内容

最新更新