gpt4 book ai didi

php - 如何执行以下插入,mysql

转载 作者:行者123 更新时间:2023-11-29 11:48:21 26 4
gpt4 key购买 nike

我有两个表,报告和事件,每个表都有一个名为 id 的唯一标识符,具有自动增量功能,问题是每个表中的 id 不相同,因为报告可以有事件,但也可能没有。我想进行双重插入,但每个表中的一列必须有一个唯一的键。我使用以下函数来执行此操作:

function addactioneventuser(){

try {

$this->conn->beginTransaction();

$query = "INSERT INTO
" . $this->table_name . "
SET
case_id = ?,
from_to = 0,
action_id = ?,
accepted = 0,
message = ?";

// prepare query statement
$stmt = $this->conn->prepare($query);

// bind values
$stmt->bindParam(1, $this->case_id);
$stmt->bindParam(2, $this->action_id);
$stmt->bindParam(3, $this->message);



// execute the query
$stmt->execute();

// insert event query
$query2 = "INSERT INTO event_case

SET
title = ?, body = ?, class = ?, start = ?, end = ?, case_id= ?, worker_id = ?";

// prepare query statement
$stmt = $this->conn->prepare($query2);

// bind values
$stmt->bindParam(1, $this->title);
$stmt->bindParam(2, $this->body);
$stmt->bindParam(3, $this->class_event);
$stmt->bindParam(4, $this->start);
$stmt->bindParam(5, $this->end);
$stmt->bindParam(6, $this->case_id);
$stmt->bindParam(7, $this->worker_id);

// execute the query
$stmt->execute();


$this->conn->commit();
return true;



} catch (Exception $e) {
$stmt->rollBack();
return false;
}

}

这两个插入工作完美,但我的问题是每个表的两个 id 不相同,因此我无法同时从两个表中删除特定记录,我不知道该怎么做它。我读到了 Cascade 和其他可能的解决方案,但它们似乎都不适用于我的问题。我不介意创建另一列来将其用作两个表的引用,但我不知道如何在上面的查询中执行此操作。

提前谢谢

最佳答案

最后插入 ID 为 $this->conn->insert_id;运行后即可获取并使用该标识符。例如将其添加到所需的表

关于php - 如何执行以下插入,mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34558354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com