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

MYSQL deaktiviert Auto-Trim

Gemäß SQL 92 Dokumentation, wenn zwei Strings verglichen werden, werden sie zuerst in der Länge gleich gemacht, indem der kürzeste String mit Leerzeichen aufgefüllt wird.

Suchen Sie nach 8.2 <comparison predicate> im Dokument.

If the length in characters of X is not equal to the length
in characters of Y, then the shorter string is effectively
replaced, for the purposes of comparison, with a copy of
itself that has been extended to the length of the longer
string by concatenation on the right of one or more pad char-
acters, where the pad character is chosen based on CS. If
CS has the NO PAD attribute, then the pad character is an
implementation-dependent character different from any char-
acter in the character set of X and Y that collates less
than any string under CS. Otherwise, the pad character is a
<space>.

Also mit anderen Worten. Es geht nicht darum, den Wert mit der Anzahl der eingegebenen Leerzeichen zu speichern, sondern um den Vergleich, um nach doppelten Primärschlüsseln zu suchen. Sie können also nicht zwei Zeichenfolgen mit unterschiedlich vielen Leerzeichen als Primärschlüssel verwenden