vaa*_*ala 9 mysql field truncate alter
Alter table merry_parents change mobile mobile char(10).
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到错误:
#1265 - 第2行的"移动"列截断数据
如何将我的移动字段截断为char(10)?目前它是char(12).
Boj*_*les 23
错误告诉您第2行(可能还有其他数据)中有12个字符的数据,因此它会停止alter命令以避免丢失数据.
尝试使用SUBSTRING()缩短列来更新表.目前还不清楚你为什么要这样做,因为你会丢失数据,但这会将数据截断为10个字符:
UPDATE merry_parents SET mobile=SUBSTRING(mobile, 1, 10)
Run Code Online (Sandbox Code Playgroud)
然后运行你的alter命令:
ALTER TABLE merry_parents CHANGE mobile mobile char(10).
Run Code Online (Sandbox Code Playgroud)
如果您同意将数据截断为 10 个字符- 您可以先更新列,然后调整其大小
UPDATE <tablename> set mobile = left(mobile, 10);
Run Code Online (Sandbox Code Playgroud)
然后运行您的 alter 语句。