gpt4 book ai didi

mysql - 为什么这个 MySQL 查询不删除任何行?

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

从表面上看,我的用例非常简单。我有两个表:orderlineorder包含iddatetimeline引用了id 顺序表。不幸的是,这是一个非常古老的系统,我不能(即不允许修改系统)将外键与更新/删除触发器一起使用。

我是 reading this question并编写了我自己的查询来做类似的事情。基本上我想在删除订单时删除与 order 关联的所有 line,只要该订单已超过两年:

DELETE a
FROM
`line` AS a
LEFT JOIN `order` AS b ON a.`order_id` = b.`id`
WHERE
b.`datetime` < DATE_SUB(NOW(), INTERVAL 2 YEAR);

目前没有任何事情发生——没有行受到影响。将查询更改为仅选择,使用相同的连接和 where 子句,返回大量结果。

我在这里错过了什么?

最佳答案

Doc 说的是 tbl_name,而不是 table_references。所以这可能有效:

DELETE line
FROM
line
LEFT JOIN `order` AS b ON line.`order_id` = b.`id`
WHERE
b.`datetime` < DATE_SUB(NOW(), INTERVAL 2 YEAR);

关于mysql - 为什么这个 MySQL 查询不删除任何行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15249155/

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