sql >> Database >  >> RDS >> Mysql

mysql autocasting string naar geheel getal

Uit de documenten:

Uw zaak valt onder "alle andere gevallen".

De string wordt gecast naar een FLOAT en vervolgens vergeleken met uw int_val .

Als string mooi cast (waarden zoals '1' , '0.1' of '1E5' ), wordt de resulterende waarde vergeleken met het gehele getal.

Zo niet (stel dat u een waarde doorgeeft zoals '1235xxx' ), zullen de mogelijke voorloopcijfers worden gegoten in een float (0 indien geen), en de rest wordt afgekapt. Bovendien wordt er een waarschuwing gegenereerd.

De reden voor het doorgeven van de id in een string kan zijn dat uw id niet per se een geheel getal hoeft te zijn. Het kan ook een string of een datum zijn.

Waarschijnlijk heeft de ORM een generieke code voor het genereren van DELETE query die op elk gegevenstype zou werken.



  1. Laravel:hoe u een op maat gesorteerde welsprekende verzameling kunt krijgen met behulp van de whereIn-methode

  2. Een lijst met meerdere waarden invoegen in MySQL met behulp van pymysql

  3. MySQL-opdrachtregelopmaak met UTF8

  4. Django model één vreemde sleutel voor veel tabellen