
或
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的性能,如果数据量很大,影响可能会明显。
视你的情况来使用吧。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)