gpt4 book ai didi

mysql - SQL IF 和 LEFT JOIN 导致数据库出现故障

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:45 25 4
gpt4 key购买 nike

我刚刚遇到了一个以前从未遇到过的问题。当我在 phpmyadmin 中尝试我的 SQL 语句时,一切都很好。但是,一旦我在带有 MySQL 的 c 应用程序中使用它,它就只能在每隔一个启动时工作。此外,当我运行它一次时,它会阻塞整个表,然后该表不会返回任何结果,甚至在 phpmyadmin 中也不返回。

SQL如下:

    SELECT watchedItems.aid, IF((watchedItems.maxBidPrice > 0.00), watchedItems.maxBidPrice, bidGroups.bidGroupPrice)   
AS maxBidPrice
FROM watchedItems
LEFT JOIN bidGroups ON bidGroups.bidGroupID = watchedItems.bidGroupID
WHERE watchedItems.sniping = 1
AND watchedItems.deleted = 0
AND watchedItems.PID = 0
AND watchedItems.processRunning = 0
AND watchedItems.id = 1

在 WHERE 过滤掉所有内容之前,LEFT JOIN 用 NULL 填充所有内容,这会以某种方式影响表(NULL 指针)吗?还是 IF 语句放错地方了?或者 LEFT JOIN 有问题?奇怪的是,如果我调整代码并只使用:

  SELECT watchedItems.aid, IF((watchedItems.maxBidPrice > 0.00), watchedItems.maxBidPrice, bidGroups.bidGroupPrice)   
AS maxBidPrice
FROM watchedItems
LEFT JOIN bidGroups ON bidGroups.bidGroupID = watchedItems.bidGroupID
WHERE
watchedItems.id = 1

一切似乎至少在表面上都有效——我没有发现 table 堵塞。也许我仍然在这里遗漏了一些东西。

最佳答案

试试这个

SELECT watchedItems.aid, IF((bigGroups.bigGroupID IS NOT NULL AND watchedItems.maxBidPrice > 0.00), watchedItems.maxBidPrice, bidGroups.bidGroupPrice)   

>0.00 不保证有来自 bigGroups 的数据。

关于mysql - SQL IF 和 LEFT JOIN 导致数据库出现故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6423859/

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