首页 > 解决方案 > 如何使用数据库中表的主键作为表2中的外键,同时在php中同时插入单个表单中的记录

问题描述

我对 Web 开发相当陌生,目前正在使用可以捕获进行的维护工作的 MVC 框架在网站上工作。我设法制作了表格,它正确显示了填写表格时的任何错误,如果没有任何错误,则成功将其插入数据库。我想要实现的是有一个主表,其中包含维护的一般细节,例如(日期、时间、技术人员、部门、位置、建议)和另一个表,其中记录了维护期间完成的任务,例如清扫、拖地,擦窗户,割草等。我有一个表格,需要填写两个表格中所需的所有细节。两个表都将具有自动递增的主键。然后,我想同时将数据插入到相关表中,同时将数据插入到任务表中,我希望该特定记录的主表有一个外键,因此它对应。如果主表的主键是自动增量,我如何在没有用户手动输入的情况下实现这一点?

标签: phpmysql

解决方案


这不是什么大问题。它不能作为单个查询完成,但使用事务可以实现全有或全无的结果。

在伪代码中:

  • 验证数据
  • 开始交易
  • 将数据插入主记录
  • 获取最后插入的 ID
  • 使用上面检索到的 ID 将一条或多条记录插入到子表中
  • 提交事务(如果发生错误则回滚)

MySQLi 和 PDO 之间的确切机制有所不同,但原理是相同的。


推荐阅读