我创建了具有以下结构的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个表。

有什么解决办法吗?我只是想不出办法确保将用户在表单字段中键入的任何内容保存为这2个表中的1个数据集,即子表“ mobilfunkkarten”中的NEW数据将与父表“ mitarbeiter”中的主键号。

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

最佳答案

首先插入员工。

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


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

INSERT INTO mobilfunkkarten
            (mfktarif,
             ...,
             maID)
            VALUES (?,
                    ...,
                    last_insert_id());

10-04 20:17