一尘不染

在VARCHAR修改上强制截断?

sql

我想在一些列上将VARCHAR限制为255,以便可以添加索引。

alter table striker modify contacts varchar(255)

当我尝试运行上述命令时,我得到

Error Code: 1265. Data truncated for column 'contacts' at row 331   38.969 sec

有没有一种方法可以强制截断列,以便此命令成功缩短VARCHAR?我不在乎缩短列中的数据。


阅读 127

收藏
2021-05-16

共1个答案

一尘不染

您可以手动将列截断为255个字符:

UPDATE striker
SET    contacts = SUBSTR (contacts, 1, 255);

现在,您知道任何值都不能超过255个字符,因此您可以alter table安全地执行OP中的语句。

2021-05-16