我创建了 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 个数据集保存到这两个表中,即子表“mobilfunkkarten”中的新数据将与父表“mitarbeiter”中的主键编号。
mitarbeiter = worker mobilfunkkarten = 手机卡(SIM 卡)
最佳答案
首先插入员工。
INSERT INTO mitarbeiter
(maanrede,
...)
VALUES(?,
...);
然后插入 SIM 卡。使用last_insert_id()
获取为员工记录创建的 ID。
INSERT INTO mobilfunkkarten
(mfktarif,
...,
maID)
VALUES (?,
...,
last_insert_id());
关于php - mySQL:将值插入到具有外键关系的2个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51210533/