Dos documentos:
Seu caso se enquadra em "todos os outros casos".
A string será convertida em um
FLOAT
e, em seguida, comparado com seu int_val
. Se a string for bem convertida (valores como
'1'
, '0.1'
ou '1E5'
), o valor resultante será comparado ao inteiro. Caso contrário (digamos que você passe um valor como
'1235xxx'
), os possíveis dígitos iniciais serão convertidos para um float (0
se nenhum), e o resto é truncado. Além disso, um aviso será gerado. A razão para passar o id em uma string pode ser que seu id não precisa necessariamente ser um inteiro. Pode ser uma string ou uma data também.
Provavelmente o ORM tem um código genérico para gerar
DELETE
query que funcionaria em qualquer tipo de dados.