mysql使用drop default的后果

数据库是**decimal(15,2)**类型的字段,本来想把字段原本的默认值置空,达到字段非必填的效果,结果意外发现插入这个字段时报错

[HY000][1364] Field ‘predict_total_profit’ doesn’t have a default value

我执行的sql:

alter table iyx_pms.init_quoted_price alter column predict_total_profit drop default;

然后设置可以为null:

alter table iyx_pms.init_tender_filing modify predict_total_profit decimal(15,2) null 

查看表结构和script发现没什么问题:
在这里插入图片描述
在这里插入图片描述
找解决方案:
检查是否是主键或者是其他表的外键,由于我的是一个金额字段,不对口。。

想着那就先给他加一个null进去试试:
在这里插入图片描述
果不其然 好了 -_-|| 随后再去表结构和script看下 竟然看不出来有任何改变 在这里插入图片描述
至于具体原因,目前还不太清楚 。。小白一个。。 哪位大神发现了原因还望指点

扩展方案:https://www.cnblogs.com/xiaoleiel/p/8324104.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值