Mysql查询在更新时用默认值替换空字符串

Mysql查询在更新时用默认值替换空字符串,mysql,Mysql,如何在更新时用默认值替换空字符串? 我得到了这个错误 错误号码:1366 第1行“actualcost”列的十进制值不正确 我已经为“actualcost”字段设置了默认值0.00和十进制数据类型 更新查询: UPDATE `campaign` SET `productid` = '29', `actualcost` = '',`expectedrevenue` = '0.00', `actualresposecount` = '0', `actualsalescount` = '0', `

如何在更新时用默认值替换空字符串? 我得到了这个错误

错误号码:1366 第1行“actualcost”列的十进制值不正确

我已经为“actualcost”字段设置了默认值0.00和十进制数据类型

更新查询:

 UPDATE `campaign` SET  `productid` = '29', `actualcost` = '',`expectedrevenue` = '0.00', `actualresposecount` = '0', `actualsalescount` = '0', `actualroi` = '0.00' WHERE `campaignid` = '90'

Mysql和postgres,可能其他人允许使用关键字DEFAULT而不是值来插入默认值,例如:

insert into mytable (id, text_column_with_default)
values (1, default)
如果您将空白值更改为该关键字,您将实现您的目标


这意味着您将无法使用带有占位符的准备好的语句;您必须自己构建SQL字符串。

最好在问题中包含表结构。当查询从插入的列列表中忽略该列时,将调用默认值。完成这一点的唯一合理方法是以编程方式省略列,即在提供的值为空时更改查询,并包括update语句。在诊断问题时需要知道的所有有用信息。尽管有些数据库(如Postgres)允许将eyword默认值用作插入值,以产生您想要的效果