我有一個在MySQL查詢。在哪裏條件不起作用在MySQL
SELECT * FROM tblName WHERE colName = "name";
但是,沒有選擇記錄。我檢查了桌子,並且有條件符合條件的字段。順便說一下,記錄是通過存儲過程插入的。當我嘗試編輯某些記錄(colName列)時,編輯的記錄被選中。 COLNAME有一個數據類型爲varchar
我有一個在MySQL查詢。在哪裏條件不起作用在MySQL
SELECT * FROM tblName WHERE colName = "name";
但是,沒有選擇記錄。我檢查了桌子,並且有條件符合條件的字段。順便說一下,記錄是通過存儲過程插入的。當我嘗試編輯某些記錄(colName列)時,編輯的記錄被選中。 COLNAME有一個數據類型爲varchar
試試這個,看看你會得到什麼結果,並檢查是否有空格或什麼問題...
SELECT *,LENGTH(colName) FROM tblName WHERE colName LIKE "%name%";
也有可能(我有這個問題我的應用程序自我使用)您搜索的語言,字符在如希臘,你的數據「翻譯」:
GEORGE似乎與GΕΟRGΕ相同但目前還沒有,當你將它們轉換爲小寫
gεοrgε <> george
嗨,約翰,是的,我有一些列有我的預期長度。我試圖通過SET colName = TRIM(colName)更新列,但它總是說0受影響的行 –
有沒有我提到的問題的機會?你有多語言數據嗎?允許快速準確的響應最好的辦法是提供一個SQLFiddle。 – John
即時通訊抱歉,但你是什麼意思多語言?我試過選擇Lower(colName),它翻譯得很好 –
我不知道
,但請儘量使用單引號代替雙引號
像這樣
SELECT * FROM tblName WHERE colName = 'name';
不,它不會工作 –
此線程對我幫助很大。我沒有注意到我的領域還有其他空白。
How to remove leading and trailing whitespace in a MySQL field?
看起來像白色空間的問題,運行這個第一'更新的表名設置COLNAME = TRIM(COLNAME)'然後嘗試你的選擇查詢,看看它做任何事情。 –
你可以顯示樣本數據嗎? – Jens
您能否顯示錶格中的一些示例數據,包括匹配的記錄? –