在我思考如何做的时候,我已经摔坏了脑袋。 需要使用与当前表条目的id进行比较的条件进行查询。
即类似于:
DELETE
FROM table1
WHERE TIMESTAMPDIFF(MINUTE, Time_ADD, now()) >= (
SELECT del_time
FROM table2
WHERE table1.id = table2.id
)
类似的查询会产生一个错误,指示如果没有为id指定table1,或者如果指定了table1名称,则table1.id不存在,则子查询会发出多个值
P.S。如果我犯了错误,抱歉我的英语。
编辑1 对于前者CREATE Query可能看起来像:
CREATE TABLE table1(
id int identity(1,1),
some_value varchar(max),
Time_ADD datetime
)
CREATE TABLE table2(
id int,
del_time int
)
在table2中,我有几分钟的int值。在那之后,必须删除id int table1。
答案 0 :(得分:0)
这可能就是你要找的东西
DELETE table1
FROM table1
INNER JOIN table2 ON table1.ID = table2.ID
AND TIMESTAMPDIFF(MINUTE, Time_ADD, now()) >= table2.del_time
答案 1 :(得分:0)
DELETE FROM table1 WHERE TIMESTAMPDIFF(MINUTE, Time_ADD, now()) >=
确保此查询您必须只返回一行。
<强> (SELECT del_time FROM table2 WHERE table1.id = table2.id)
强>
要么你可以过滤它。