mysql 数据库 更新字段语句

mysql 数据库 更新字段语句,第1张

Update A,B Set A.size=B.size Where A.chapterid=B.chapterid

Update A Inner Join B On A.chapterid=B.chapterid Set A.size=B.size

格式:update 表名称 set 字段名称 = 字段名称 + 1 [ where语句]

比如说数据库中有一张student表,要想把id为1的学生成绩(score)加1则

update student set score=score+1 where id = 1

如果你不加where系统就不会知道你具体要更新哪条记录,而导致所有该表中score都增加1,当然,除非这就是你的本意。

请采纳答案,支持我一下。

有一个解决方案是使用mysql 的 case when 条件判断。假定你的整型字段名为field_1,表名为table_x,则以下语句可以解决你的问题。

update table_x set field_1= (case when field_1 =0 then 0 else field_1-1 end) where field_x='xxxx'

即是你要的效果。注意执行的时候的where条件不要漏掉哦。

但我个人不是很赞成这种用法,一是业务逻辑封装在sql中很不清楚,当业务变化的时候改动可能影响其他功能,二是降低了mysql的性能,如果数据量很大,影响可能会明显。

视你的情况来使用吧。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5930182.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-08
下一篇2023-03-08

发表评论

登录后才能评论

评论列表(0条)

    保存