如何在没有自动增量的情况下查找表的行错误



我正在尝试将索引列(非唯一)varchar(255)转换为使用utf8mb4_general_ci排序规则。但我总是遇到最大的关键错误。

所以我试着将我的varchar长度限制在较低的数字,并收到这个错误:

Data too long for column at 'table_name' at row 122

但是我的表没有自动递增的id,所以我一直在想第122行在哪里

我的直觉是,我可能可以截断一些长记录,以适应utf8mb4的767密钥长度。但我需要先找到长字符串。

要查找最长的字符串('fo'是太长的列名):

SELECT *, char_length(foo)
FROM table_name
ORDER BY char_length(foo) DESC
LIMIT 25

相关内容