第四章 6-更新单行updating a single row--Mosh my SQL

文章讲述了在处理数据库更新时遇到的问题,特别是当试图更改decimal类型字段(如payment_total,精度9,2)时,由于数值除法导致的小数位过多,触发了数据截断警告。解决方法包括记录原始数据和调整更新语句以适应字段精度。
摘要由CSDN通过智能技术生成

假设系统出了问题,无法直接更改数据

1,先记住原来的样子

输入

update invoices
set payment_total=10,payment_date='2019-03-01'
where invoice_id=1
 

2,invoices里面

update invoices
set payment_total=default,payment_date=null
where invoice_id=1

将得到

3,

update invoices
set
payment_total=invoice_total*0.5,
payment_date=due_date
where invoice_id=3

这里的74后面会讲

1 row(s) affected,

1 warning(s): 1265 Data truncated for column 'payment_total' at row 1

此警告是因为payment_total是decimal(9,2)的属性,而147.99/2有三位小数

decimal(9,2)
9是定点精度,2是小数位数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值