php - 如何使用数据库中表的主键作为表2中的外键,同时在php中同时插入单个表单中的记录
问题描述
我对 Web 开发相当陌生,目前正在使用可以捕获进行的维护工作的 MVC 框架在网站上工作。我设法制作了表格,它正确显示了填写表格时的任何错误,如果没有任何错误,则成功将其插入数据库。我想要实现的是有一个主表,其中包含维护的一般细节,例如(日期、时间、技术人员、部门、位置、建议)和另一个表,其中记录了维护期间完成的任务,例如清扫、拖地,擦窗户,割草等。我有一个表格,需要填写两个表格中所需的所有细节。两个表都将具有自动递增的主键。然后,我想同时将数据插入到相关表中,同时将数据插入到任务表中,我希望该特定记录的主表有一个外键,因此它对应。如果主表的主键是自动增量,我如何在没有用户手动输入的情况下实现这一点?
解决方案
这不是什么大问题。它不能作为单个查询完成,但使用事务可以实现全有或全无的结果。
在伪代码中:
- 验证数据
- 开始交易
- 将数据插入主记录
- 获取最后插入的 ID
- 使用上面检索到的 ID 将一条或多条记录插入到子表中
- 提交事务(如果发生错误则回滚)
MySQLi 和 PDO 之间的确切机制有所不同,但原理是相同的。
推荐阅读
- javascript - useEffect 用于倒数计时器,每秒重新渲染整个页面
- sql - 根据sql中的自定义条件查找第二次客户访问
- php - 如何对我的子任务进行分组并将值添加在一起
- android - 应用程序在模拟器中运行后显示按钮的主活动屏幕
- php - SQL查询中的Wordpress PHP变量没有结果
- android - Android 如何从特定图像设置动态背景颜色
- angular - 无法使用 onSelectedChange 获取选定值选择
- python - 根据用户输入从列表中添加值
- sql - 在 Redshift 中创建 SQL UDF
- directory - 如何更改 Ada 中的工作目录?