我正在尝试更新表并将两列上的默认值更改为0而不是NULL。问题是alter命令失败,因为许多行对这些列都有空值。有没有办法可以运行alter命令,如果遇到一个带有NULL值的行,在一个命令中将其设置为0?我可以使用查询来更新具有NULL值的行,但我希望能够使用Percona Toolkit运行一个alter命令,这将允许在线alter table命令。
答案 0 :(得分:1)
您需要先更新自己的表格,然后将null
值更改为0
update your_table
set col = 0 where col is null;
alter table your_table
change col
col int not null default 0;
答案 1 :(得分:0)
这样的事情怎么样?
UPDATE mysql.table_name
SET column_name = IFNULL(column_name,'0')