sql >> Database teknologi >  >> RDS >> Mysql

MYSQL deaktiver Auto-trim

Ifølge SQL 92 dokumentation, når to strenge sammenlignes, laves de først lige lange ved at udfylde den korteste streng med mellemrum.

Søg efter 8.2 i dokumentet.

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>.

Altså med andre ord. Det handler ikke om at gemme værdien med mængden af ​​mellemrum, du har indtastet, men det er den sammenligning, det gør for at kontrollere for duplikat primær nøgle. Så du kan ikke have to strenge med en forskellig mængde mellemrum til at fungere som en primær nøgle




  1. Hvordan man evaluerer udtryk i select statement i Postgres

  2. Hvad er praktiske forskelle mellem 'REPLACE' og 'INSERT ... ON DUPLICATE KEY UPDATE' i MySQL?

  3. Generering af en tilfældig og unik streng på 8 tegn ved hjælp af MySQL

  4. 1064 fejl i CREATE TABLE ... TYPE=MYISAM