Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MYSQL desabilita o Auto-Trim


De acordo com o SQL 92 documentação, quando duas strings são comparadas, elas primeiro são iguais em comprimento, preenchendo a string mais curta com espaços.

Pesquise 8.2 <comparison predicate> no documento.
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>.

Então, em outras palavras. Não se trata de armazenar o valor com a quantidade de espaços que você digitou, mas é a comparação que faz para verificar a chave primária duplicada. Então você não pode ter duas strings com uma quantidade diferente de espaços atuando como chave primária