我對MySQL並不陌生,但今天我的代碼中出現了一個奇怪的情況,這讓我很驚訝。有人可以解釋爲什麼這給了我相同的結果嗎?MySQL的自動字符串轉換爲where子句中的整數嗎?
SELECT * FROM `products` WHERE id = 12
和
SELECT * FROM `products` WHERE id = '12ABC'
在這兩種情況下,我與被選擇相同的記錄相同的結果。我希望第二個人能夠回報我什麼?我的ID字段是int(11)無符號且auto_increment標誌已打開。
尊敬的領主:-)。這可以被禁用,或者我應該明確說不要轉換嗎? –
@PrimozRome:似乎不可能抑制這種行爲。 – potashin