我剛剛遇到了一個我以前從未遇到的問題。當我在phpmyadmin中嘗試我的SQL語句時,一切正常。但是,一旦我在MySQL的c應用程序中使用它,它只能在其他每一次啓動時起作用。同樣,當我運行一次,它會阻塞整個表格,然後表格不會返回任何結果,即使在phpmyadmin中也是如此。SQL IF和LEFT JOIN導致數據庫出現故障
的SQL如下:一切都在WHERE,LEFT JOIN填滿了NULL一切過濾掉
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
之前,可這在某種程度上影響表(NULL指針)?或者IF聲明放錯了位置?或者可能是左連接有問題?奇怪的是,如果我適應代碼,並只使用:
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
一切似乎在表面上至少工作 - 我不明白表堵塞。也許我仍然在這裏失去一些東西。
我要說它有話使用你的C代碼。那麼你可以發佈你用來從查詢中提取的代碼嗎? – judda
我想你可能是對的。我現在嘗試了幾個解決方案,似乎沒有任何工作。 –
你認爲我應該在一個新的線程中單獨發佈它嗎? –