gpt4 book ai didi

mysql - 如果MySQL中的上一个查询没有重复记录,如何插入记录

转载 作者:行者123 更新时间:2023-11-30 01:22:45 26 4
gpt4 key购买 nike

我需要执行 2 个插入查询。每个查询都会将数据插入到不同的表中。第一个查询具有 ON DUPLICATE KEY UPDATE 子句。我需要做的是防止第二个查询运行是第一个查询由于重复 key 而导致更新。

这是我目前的代码。

    $insertEvent = $db->processQuery('INSERT INTO calendar_events (start_on, end_on, subject, owner_id, created_by, phone_call_id, status )
VALUES (?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE start_on = ?, end_on =?, status = ? ',
array($start, $end, $subject, $owner, $created_by, $phone_call_id, $status, $start, $end, $status) );
$event_id = $db->lastinsertid();

$insertEvent2 = $db->processQuery('INSERT INTO calendar_attendees (event_id, owner_id) VALUE (?, ?)', array($event_id, $owner));

我只想在 $insertEvent 创建新记录时执行 $insertEvent2,否则忽略第二条语句。

谢谢

最佳答案

我相信你可以使用INSERT IGNORE第二个 INSERT 上的语法,以便您的查询看起来像

INSERT IGNORE INTO calendar_attendees (event_id, owner_id) VALUES (?, ?)

确保您对 (event_id,owner_id) 具有 UNIQE 约束。

顺便说一句,您的第二个插入内容中有一个拼写错误。它应该是 VALUES 而不是 VALUE

关于mysql - 如果MySQL中的上一个查询没有重复记录,如何插入记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18369446/

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