sql >> Databasteknik >  >> RDS >> Mysql

Varför är det möjligt att använda numeriska strängvärden för att ställa in heltalsfält i MySQL, och är detta en funktion som alltid kommer att fungera?

MySQL är ganska slapp med det mesta, som standard åtgärdar dessa fel genom att göra allt för att inte missa.

MySQL har dock ett strikt läge som inte tillåter det beteendet

http://dev.mysql .com/doc/refman/5.7/en/sql-mode.html#sql-mode-strict

För mer information.

Den här "funktionen" kan också orsaka prestandaproblem, att jämföra en sting med en indexerad int gör indexet värdelöst (i vissa fall kan optimeraren ibland upptäcka detta och bara casta indata)



  1. Lära:PÅ DUBLIKAT UPPDATERING AV NYCKEL

  2. Hur man infogar DECIMAL i MySQL-databasen

  3. Spotlight Cloud-stöd för Azure SQL DB Announcement (förhandsgranskning)

  4. Hur kan jag få en icke-tom resultatuppsättning när jag använder välj, gruppera efter och räkna?