我有一个带有VARCHAR(25)列的MySQL表,我希望将其转换为INT.列中的所有数据都是整数或空白.我试过这个命令:
ALTER TABLE ip MODIFY isp INT UNSIGNED NOT NULL;
Run Code Online (Sandbox Code Playgroud)
不幸的是,由于某些现有行是空的,我收到此错误:
ERROR 1366 (HY000): Incorrect integer value: '' for column 'isp' at row 2
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
Rap*_*aus 15
在更改表格之前,请尝试更新您的值.
目标是在您具有空值(不能转换为int)的字段中设置"0"值
update ip
set isp = '0' where trim(coalesce(isp, '')) = '';
Run Code Online (Sandbox Code Playgroud)
如果isp不可为空,则可以删除coalesce函数.
update ip
set isp = '0' where trim(isp) = '';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18884 次 |
| 最近记录: |