非常感谢您的测试。经过我这两天的测试,发现问题可能出现在Tidb 6.0之后的排序规则的改动。
我分别测试了三种场景:
A、集群版本5.4.0
B、原集群版本5.4.0,升级到v6.5.0
C、集群版本6.1.2和6.5.0
发现A、B两个场景的 【new_collations_enabled_on_first_bootstrap】值均为false、C场景的值为True。这确实符合预期。因为新版本使用了新的排序规则支持。且该值只能在初次部署集群之前规定,无法后期修改。
但是测试尾部空格时发现,【new_collations_enabled_on_first_bootstrap】为 True 的集群时无法通过修改sql_mode 来规避 主键重复 这个错误。而 为False 的版本均可以正确处理尾部空格。
我不确认这是bug还是tidb修改了这个特性后做的限制。