mysql - 对 VARCHAR 修改强制截断?

标签 mysql sql ddl alter-table

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

alter table striker modify contacts varchar(255)

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

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

有没有办法强制截断列,以便此命令成功缩短 VARCHAR?我不关心缩短列中的数据。

最佳答案

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

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

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

关于mysql - 对 VARCHAR 修改强制截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27829152/

相关文章:

mysql - 格式(x,d)不工作mysql功能

mysql - 括号中的数字究竟是什么意思?

oracle - 如何在 PL SQL 中为现有表创建唯一 id?

sql-server - 截断 DDL 或 DML 命令

php - 获取数组并循环

python - 用日期信息去除 mysql 数据字符串以仅显示月份和日期

mysql - Yii2 - 使用 activerecord 在 gridview 中显示关系数据的计数

php - 在一个有两个外键的表中插入数据(php)

sql - 如何在 UPDATE 语句的集合列表中使用聚合

php - 显示特定日期的PHP数据