我创建了具有以下结构的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卡)
首先插入员工。
INSERT INTO mitarbeiter (maanrede, ...) VALUES(?, ...);
然后插入SIM卡。使用last_insert_id()以获取雇员记录创建的ID。
last_insert_id()
INSERT INTO mobilfunkkarten (mfktarif, ..., maID) VALUES (?, ..., last_insert_id());