插入触发器之前的SQL - 插入另一个表并更新外键

时间:2014-09-09 12:39:08

标签: mysql sql database database-design

我有两张桌子:汽车和发动机。每辆车都有一个引擎,因此车牌表有一个engineID字段,它是一个指向引擎表上id字段的外键。

现在我想要做的是在插入新车之前,我想创建一个带有空值的新引擎条目,然后将新创建的引擎的id插入到汽车条目的engineID字段中。

有什么办法可以用触发器实现吗?我正在使用MySQL。

1 个答案:

答案 0 :(得分:1)

我不明白为什么你想要在表格中包含所有空值的行,但是你在正确的轨道上,首先必须创建引擎(或查找它)。

您的引擎表应该有一个auto_increment列。然后你检查,已经存在一个正确的条目。如果是,请获取id号码。如果没有,请插入它(或通过仅插入null创建一个新行)。您可以获取通过查询id生成的LAST_INSERT_ID()。然后在id表格中使用此car

不要在触发器中执行此操作,而是使用事务。