mysql> CREATE TABLE primary2(boom text,id int,PRIMARY KEY(boom(5)) );
Query OK, 0 rows affected (0.04 sec)
mysql> INSERT INTO primary2 VALUES('viok',1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO primary2 VALUES('viok',1);
ERROR 1062 (23000): Duplicate entry 'viok' for key 'PRIMARY'
mysql> INSERT INTO primary2 VALUES('viok ',1);
ERROR 1062 (23000): Duplicate entry 'viok ' for key 'PRIMARY'字符串'viok‘和'viok’是不同的.How来添加带空格的字符串?
发布于 2014-04-21 14:43:42
Q:如何添加带空格的字符串?
A:,不可能。
从MySQL作为索引条目的存储方式来看,文本值'viok‘和'viok’并不是唯一的。我是有记录的行为
如果对文本列进行索引,则索引条目比较将在末尾填充空格。这意味着,如果索引需要唯一的值,则仅在尾随空格数上不同的值将发生重复键错误。例如,如果表包含'a',尝试存储'a‘会导致重复键错误。对于BLOB列则不是这样。
发布于 2018-07-12 17:42:53
MySQL在字符串比较中忽略尾随空格。一种方法是添加一个列来存储文本的尾随空格数。
一种方法是将其存储为varchar,这允许尾随空格。
https://stackoverflow.com/questions/23199386
复制相似问题