Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum ist es möglich, numerische Zeichenfolgenwerte zu verwenden, um Integer-Felder in MySQL festzulegen, und ist dies eine Funktion, die immer funktioniert?

MySQL ist in den meisten Dingen ziemlich nachlässig und behebt diese Fehler standardmäßig, indem es alles tut, um keine Fehler zu machen.

MySQL hat jedoch einen strikten Modus, der dieses Verhalten nicht zulassen würde

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

Weitere Informationen.

Dieses 'Feature' kann auch Leistungsprobleme verursachen, da der Vergleich eines Stichs mit einem indizierten int den Index unbrauchbar macht (in einigen Fällen kann der Optimierer dies manchmal erkennen und nur die Eingabe umwandeln)