我不知道這是一個錯誤還是什麼。我有一個簡單的MySQL表稱爲table
一個名爲id
列是BIGINT UNSIGNED NOT NULL
即使提供的錯誤值,MYSQL返回結果
我有ID 1
一排,當我運行此查詢:
SELECT * FROM table WHERE id = '1dasfrf'
和令人驚訝地返回行ID 1
結果行!由於提供了無效值,它不應返回任何內容。 MYSQL表的類型是innoDB
如果這是相關的
所以總之,如果你把任何非數值後的行值,它會返回該行。這當然與所有的id值不只是1
它會變得更糟:'創建表foo(ID VARCHAR(20) );插入foo值('1x'),('xy');從foo刪除其中的id;' – 2014-10-30 23:04:06