首先我应该指出我是php和MySql世界的新手!我正在忙于学习,但我可能不会以专业的方式做事。
背景 我创建了一个php表单,当提交时将数据插入两个表:post_header,post_details。
目前我发布两种插入语句,格式如下:
$sql="INSERT INTO post_header (member_id, ....+more fields
if ($insert_stmt = $mysqli->prepare($sql)) {
$insert_stmt->bind_param('i', $_POST[member_id]);
if ($insert_stmt->execute()){
//it worked
$newpostId=$mysqli->insert_id;
//now use the header id (primary key from post_header, which auto-increments) to add a record into the detail table
$sql="INSERT INTO post_detail (header_id, ....+more fields
if ($insert_stmt = $mysqli->prepare($sql)) {
$insert_stmt->bind_param('i', $newpostId);
我应该指出post_header& post_detail具有1对1的关系,并通过header_id链接。
我的问题是PHP& MySQL有一种方法可以让我在一个sql事务中向两个表提交插入吗?
如果有人能指出我正确的方向,我真的很感激。谢谢