我想从中减去1(-1)值 durasi_pre_u
如果 durasi_pre_u
基本值大于0并更新 Premium
至 Member
什么时候 durasi_pre_u
值为0。
这是我要做的
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)
此代码正在工作-1 durasi_pre_u
但不是工作的改变 Premium
至 Member
我试着遵循这个网站的教程https://www.w3resource.com/mysql/control-flow-functions/if-function.php
2条答案
按热度按时间lndjwyie1#
在
If
函数,您只需要指定在true或false情况下要设置的值。不要指定字段名=值(pangkat_u = 'Member'
)使用以下选项:
dvtswwa32#
您的查询有一个错误,首先您只想更改
pangkat_u
当durasi_pre_u
是1(因此它将更改为0),因此需要更改<>
至=
. 其次你有pangkat_u = 'Member'
作为新值,mysql将其视为布尔表达式(即值1或0)。你真正想要的只是'Member'
. 所以你的问题应该是: