php - 如何在mysql中使用if语句
问题描述
durasi_pre_u
如果durasi_pre_u
基本值大于 0,我想减去 1 (-1) 值并更新Premium
到值 = 0Member
时。durasi_pre_u
我在这里尝试
UPDATE user
SET durasi_pre_u = IF(durasi_pre_u > 0, durasi_pre_u - 1, durasi_pre_u),
pangkat_u = IF(durasi_pre_u <> 1 AND pangkat_u = 'Premium', pangkat_u = 'Member', pangkat_u)
此代码工作 -1durasi_pre_u
但不工作更改Premium
为Member
我尝试按照本网站的教程https://www.w3resource.com/mysql/control-flow-functions/if-function.php
解决方案
您的查询中有错误,首先您只想更改pangkat_u
当前值为durasi_pre_u
1 时的值(因此即将更改为 0),因此您需要将 更改<>
为=
。其次,您拥有pangkat_u = 'Member'
新值,MySQL 将其视为布尔表达式(即值 1 或 0)。你真正想要的只是'Member'
. 所以你的查询应该是:
UPDATE user
SET durasi_pre_u = IF(durasi_pre_u > 0, durasi_pre_u - 1, durasi_pre_u),
pangkat_u = IF(durasi_pre_u = 1 AND pangkat_u = 'Premium', 'Member', pangkat_u)
推荐阅读
- xml - 使用 XPath Predicate 根据循环内的限定符选择值
- flutter - Flutter Post Login with email and password with Content-type application/x-www-form-urlencoded
- node.js - Auth0 用户信息请求处理失败
- c# - C# 条件使用和默认参数
- sql - 查询以查找给定节点的根
- javascript - Summernote 将字母间距添加到工具栏
- oauth-2.0 - 参数“state”必须在查询字符串中设置,结果我应该怎么做
- excel - 是否可以在变量内执行公式?
- python - 如何分配参数以获取每个 sklearn 回归模型的预测目标值?
- html - 使图像垂直适应文本