我有两张桌子:汽车和发动机。每辆车都有一个引擎,因此车牌表有一个engineID字段,它是一个指向引擎表上id字段的外键。
现在我想要做的是在插入新车之前,我想创建一个带有空值的新引擎条目,然后将新创建的引擎的id插入到汽车条目的engineID字段中。
有什么办法可以用触发器实现吗?我正在使用MySQL。
答案 0 :(得分:1)
我不明白为什么你想要在表格中包含所有空值的行,但是你在正确的轨道上,首先必须创建引擎(或查找它)。
您的引擎表应该有一个auto_increment
列。然后你检查,已经存在一个正确的条目。如果是,请获取id
号码。如果没有,请插入它(或通过仅插入null
创建一个新行)。您可以获取通过查询id
生成的LAST_INSERT_ID()
。然后在id
表格中使用此car
。
不要在触发器中执行此操作,而是使用事务。