您将如何实施以下内容?
我想将数据插入mysql表。让我们假设有两个表存在外键关系。首先,我插入一个具有主键的行,该主键应该作为外键插入到另一个表中的一个行中。因此,当我想插入外键及其相关数据时,我必须知道另一个表中相关行的主键。由于我是初学者,我的解决方案如下:我会将带有特定数据的字段值插入原始表,以便插入的值可用于使用SELECT检索主键,然后插入检索到的主数据库key作为另一个表的相关行的外键。
虽然我不知道更好的解决方案,但我认为这是实现这种逻辑的一种非常笨拙的方式。必须有更好的方法来做到这一点。
答案 0 :(得分:1)
您的解决方案无效,因为如果您要插入的不是唯一数据,则可能无法检索相应的主键。 MySQL为此提供LAST_INSERT_ID()
功能。只需在主键表中插入行,然后使用SELECT LAST_INSERT_ID()
。它返回插入到原始表中的最后一个主键值(最后一次插入查询),现在您可以将其用作相关表中的外键。