我們確實有一個腳本,它可以自動將散列值從池中插入到文章中,只要它符合某些條件。這樣做的延伸是幾年前編制的,迄今運作良好。 現在它停止工作,沒有人知道爲什麼。經過很長時間的調試,我在SQL語句中發現了錯誤。MySQL ORDER BY與LIMIT 1結合返回空結果
生成的語句是這樣的:
SELECT `hash`
FROM `table`
WHERE `is_used` =0
ORDER BY `uid`
LIMIT 1
如果我只是刪除了 「ORDER BY uid
」,它再次工作。我只想知道爲什麼這發生在藍色之外。該主機說,系統方面沒有任何更改/更新,我檢查了所有相關文件,這些文件在去年都沒有更改。
關於系統。 TYPO3 4.5.2 PHP版本5.3.8-1〜dotdeb.1 MySQL版本57年1月5日
在此先感謝
編輯: 很抱歉的混亂。 隨着「停止工作」,我的意思是從一天到另一天,沒有哈希插入到文章中。 當我用ORDER BY執行語句時,我得到一個空行。 uid列仍然存在。系統上的任何內容都沒有變化,包括數據庫和表格。 我已經附加了一個圖像與表結構和兩個查詢結果在右邊(嗯,它沒有真正附加,因爲我需要更多的信譽附加它)。
爲了再次澄清我的問題:查詢工作之前,並返回一個散列。現在只有當我刪除ORDER BY並且我想知道這會如何發生時才起作用,因爲我很好奇,它可能會幫助我處理將來的錯誤。 http://i.stack.imgur.com/Dpip4.png
P.S:我編輯的表名,不要害怕;)
編輯你的問題的代碼工作,而不是工作的例子。 「停止工作」作爲問題描述確實含糊不清。 – 2014-11-03 15:09:57
SELECT'hash'沒有列出'uid' – Andrew 2014-11-03 15:10:35
首先,你說你發現錯誤在那個SQL上。它是否有錯誤信息?其次,你的uid列還存在嗎? – 2014-11-03 15:10:56