gpt4 book ai didi

mysql - 临时表上的多个条件 - MySQL

转载 作者:行者123 更新时间:2023-11-29 17:19:03 24 4
gpt4 key购买 nike

我有一个名为“tempaction”的临时表。我想选择“ActionID”与另一个表的行匹配的行。我收到安全更新模式错误,我认为 ActionID 是复合主键的一部分。然而,当我尝试

UPDATE action
SET Status = 'Sent'
WHERE ActionID IN( select ActionID from tempaction)
AND DeviceID IN( select DeviceID from tempaction);

我收到临时表无法重新打开错误。

检查主键的两个部分已经解决了过去的安全更新错误。我还知道我不能在同一个语句中两次引用临时表。

如何从此临时表中选择具有匹配 ActionID 或匹配 ActionID AND DeviceID 的行?

临时表

CREATE TEMPORARY TABLE tempaction (ActionID BIGINT)
SELECT *
FROM action
WHERE DeviceID = '1234'
AND Status = 'Pending'

最佳答案

您可以尝试使用带有子查询的联接进行更新。

UPDATE action a
JOIN
tempaction t ON a.ActionID = t.ActionID
SET
a.Status = 'Sent';

关于mysql - 临时表上的多个条件 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51359562/

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