看板 Database 關於我們 聯絡資訊
今天又被 MySQL 搞了一次,到最後我終於知道了, 絕對絕對不要使用「保留字」作為欄位名稱, 就算會很乖的加上 `` 也一樣! 我不知道這是 MySQL 的 Bug 還是怎樣, 如果我單純做 SELECT 是正常的, SELECT `month` FROM `table`; 但是當我要 WHERE 又要 ORDER BY 時 SELECT `month` WHERE `state`='1' AND `rank`='3' ORDER BY `rank`, `id` 明明該有資料符合的卻出不來! 如果只有單純的 WHERE 或 ORDER BY 又很正常! 更阿鬼的來了,如果我去 JOIN ,例如 SELECT `month` FROM `table` LEFT JOIN `table2` ON `table2`.`id`=`table`.`table2_id` WHERE `state`='1' AND `rank`='3' ORDER BY `table`.`rank`, `table`.`id` 又正確地丟出資料了! 繞了這麼一大圈,我只想說, 真的不要用「保留字」做為欄位名稱啊啊啊啊! ※ 引述《cleanwind (骨傲風清(掛網))》之銘言: : `hwlist` : id info type deadline filename rank hwid : 1 1 0000-00-00 00:00:00 0 2 : 2 2 0000-00-00 00:00:00 0 2 : 3 3 0000-00-00 00:00:00 0 2 : 4 不要玩我 2010-03-15 00:00:00 0 1 : 5 囧爆了 2010-03-15 00:00:00 1 1 : 如果我下, : SELECT `id` FROM `hwlist` WHERE `id`=4 OR `id`=5 : 會得到正常的結果 : id : 4 : 5 : 但是我如果下 : SELECT `info`, `type`, `id` FROM `hwlist` WHERE `id`=4 OR `id`=5 ORDER BY : `rank` : 卻會得到 : info type id : 囧爆了 5 : 囧爆了 5 : 誠心請教,是我的腦帶有洞, : 還是 MySQL 6.0.4-alpha 的程式碼有 Bug ? -- 請協助連署 Steam 板,不管贊成或反對都很謝謝您! 戰略高手 遊戲, 數位, 程設 ComGame-Serv 組務 Σ戰略高手服務中心 ComGame-New 組務 ◎戰略高手群組連署專用看板 864 7/07 cleanwind ˇ [申請新板] Steam -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.101.9.24