我正在尝试将索引列(非唯一)varchar(255)转换为使用utf8mb4_general_ci排序规则。但我一直遇到最大的错误。
所以我尝试将我的varchar长度限制为较低的数字并收到此错误:
Data too long for column at 'table_name' at row 122
但是我的表没有自动增量ID,所以我一直在弄清楚第122行的位置。
我的预感是,我可以截断一些长记录以适应utf8mb4的767密钥长度。但我需要先找到长串。
答案 0 :(得分:1)
要找到最长的字符串('foo'是你的列名太长了):
SELECT *, char_length(foo)
FROM table_name
ORDER BY char_length(foo) DESC
LIMIT 25