强制截断VARCHAR上修改?(Force Truncation on VARCHAR modifi

2019-10-21 13:56发布

我想盖VARCHAR 255上几列,这样我可以添加一个索引。

alter table striker modify contacts varchar(255)

当我尝试运行上面的命令,我得到

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

有没有办法迫使柱截断,使此命令成功缩短了VARCHAR? 我不关心列缩短数据。

Answer 1:

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

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

现在,你知道没有价值超过255个字符,您执行alter table您在OP具有安全声明。



Answer 2:

何必截断列? 只要创建一个长度说明列的索引。 下面是一个例子:

create index idx_striker_contacts on striker(contacts(255))

您可以为多列做到这一点。



文章来源: Force Truncation on VARCHAR modification?