我有3张桌子:
Words { wordId, name }
WordGroups { wordGroupId, type}
WordSets { wordSetId, wordId, wordGroupId}
我需要插入新的Word
和新的WordGroup
,然后插入WordSet
并添加2个新的ID(wordId和WordGroupId)。
我做到了:
INSERT INTO `wordgroups`(`type`) VALUES ('some_type');
SET @gid:=LAST_INSERT_ID();
INSERT INTO `words`(`name`) VALUES ('test name');
SET @wid:=LAST_INSERT_ID();
INSERT INTO `wordsets`(`wordGroupId`,`wordId`) VALUES(@gid,@wid);
它有效,但我怀疑这是最好的方法。
有没有人有关于更好解决方案的建议?
答案 0 :(得分:1)
在我看来,您的代码很好,我之前已经尝试过,并且没有遇到任何冲突或错误。这是最好的做法。
保持良好的工作!
答案 1 :(得分:1)
是的,这是最好的解决方案。只需在事务中确保此代码,以便任何事情的失败都会推出其他代码。