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

标签 php mysql sql database insert

我创建了 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/

相关文章:

php - 如何在php中包装没有空格的长文本

mysql - 在函数内部调用过程会抛出 MySQL ERROR 1422

mysql - MySQL模糊搜索的Big-O

带名称的 MySql 主键约束

sql - 如何使用原始 SQL 插入外键字段?

mysql - 根据列值显示不同的枚举以供选择

php - 使用 MySQL 分页查询每组前 N 个

php - 在 PHP 中动态创建实例方法

外键可以为 NULL 的 MySQL View

php - 使用 Phalcon ORM 在相关表中查找数据