小编典典

mySQL:将值插入具有外键关系的2个表中

sql

我创建了具有以下结构的2个表:

mitarbeiter
==================
maID (PK, AUTO_INCREMENT, NOT NULL)
maAnrede
maName
maVname
maDurchwahl
maEmail
maMobilfunkNr
maKartenanzahl
maFirma

mobilfunkkarten
==============================
mfkID (PK, AUTO_INCREMENT, NOT NULL)
mfkTarif
mfkStatus
mfkKartennr
mfkPin
mfkSuperpin
maID(FK)

现在,我希望网络用户在表单字段中输入值。单击“保存”按钮后,数据将保存到相应的2个表中。我的mySQL查询看起来像这样:

INSERT INTO mitarbeiter,mobilfunkkarten
(maAnrede, maVname, maName, maMobilfunkNr, mfkTarif, maKartenanzahl, mfkStatus, mfkkartennr, mfkPin, mfkSuperpin, maEmail, maFirma) 
VALUES($anrede, $Vorname, $Nachname,.......);

不幸的是,查询无法正常工作,因为您不能像我的示例一样在INSERT命令之后使用2个表。

关于如何解决这个问题的任何解决方案?我只是想不出任何办法来确保用户在表单字段中键入的任何内容都将作为1个数据集保存到这2个表中,即子表“
mobilfunkkarten”中的NEW数据将与父表“ mitarbeiter”中的主键号。

mitarbeiter =工人mobilfunkkarten =手机卡(SIM卡)


阅读 233

收藏
2021-05-16

共1个答案

小编典典

首先插入员工。

INSERT INTO mitarbeiter
            (maanrede,
             ...)
            VALUES(?,
                   ...);

然后插入SIM卡。使用last_insert_id()以获取雇员记录创建的ID。

INSERT INTO mobilfunkkarten
            (mfktarif,
             ...,
             maID)
            VALUES (?,
                    ...,
                    last_insert_id());
2021-05-16