От документите:
Вашият случай попада във "всички други случаи".
Низът ще бъде прехвърлен към FLOAT и след това сравнете с вашия int_val .
Ако низът се предава добре (стойности като '1' , '0.1' или '1E5' ), получената стойност ще бъде сравнена с цяло число.
Ако не (да речем, че предавате стойност като '1235xxx'). ), възможните водещи цифри ще бъдат прехвърлени към float (0 ако няма), а останалата част е съкратена. Освен това ще бъде генерирано предупреждение.
Причината за предаване на идентификатора в низ може да е, че вашият идентификатор не трябва непременно да е цяло число. Може също да е низ или дата.
Вероятно ORM има общ код за генериране на DELETE заявка, която би работила с всеки тип данни.