我正在使用一个包含varchar列的表。我没有意识到在比较时不考虑尾随空格(显然,如果指定了两个仅在尾随空格的数量上不同的值,将违反唯一性属性)。
我需要在表中修复它,最好是在适当的位置。在MySQL中,有没有修复这样的表的推荐路径?
我严格地通过我控制的程序访问数据库,因此切换到非人类可读的格式(如二进制)将是很好的。但我不确定如何做这样的事情,也不想破坏表。
发布于 2012-04-13 23:35:36
发布于 2010-09-17 03:52:33
您可以在包含空格的表字段上运行空查询吗?
RTRIM(str) 返回删除了尾随空格字符的字符串字符串。mysql> SELECT RTRIM( 'barbar‘);->’barbar‘此函数是多字节安全的。
发布于 2019-09-05 23:54:55
数据库排序在其中扮演着重要的角色。我也遇到过类似的情况,发现字符集= utf8mb4和排序规则= utf8mb4_0900_as_cs可以解决这个问题。
你可以阅读更多here.
https://stackoverflow.com/questions/3668996
复制相似问题