Php 如何在mysql中使用if语句
我想从Php 如何在mysql中使用if语句,php,mysql,pdo,Php,Mysql,Pdo,我想从durasi_pre_中减去1(-1)个值,如果durasi_pre_的基本值大于0,则当durasi_pre_的值为0时,将Premium更新为成员 这是我想要的 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_
durasi_pre_
中减去1(-1)个值,如果durasi_pre_
的基本值大于0,则当durasi_pre_
的值为0时,将Premium
更新为成员
这是我想要的
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)
更新用户
设置durasi_pre_=IF(durasi_pre_>0,durasi_pre_-1,durasi_pre_),
pangkat_=IF(durasi_pre_1和pangkat_='高级',pangkat_='成员',pangkat_)
此代码有效-1durasi_pre_
但不起作用将Premium
更改为会员
我尝试按照本网站的教程进行操作,在If
函数中,您只需指定要设置的值,以防为真或假。不要指定字段名=值(pangkat\u='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)
更新用户
设置durasi_pre_=IF(durasi_pre_>0,durasi_pre_-1,durasi_pre_),
pangkat_=IF(durasi_pre_1和pangkat_=‘高级’、‘会员’、‘pangkat_’
您的查询有一个错误,首先您只想在durasi\u pre\u
的当前值为1时更改pangkat\u
的值(因此它即将更改为0),因此您需要将
更改为=
。其次,将pangkat_='Member'
作为新值,MySQL将其视为布尔表达式(即值1或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', 'Member', pangkat_u)
你想更新表格还是只选择转换后的数据durasi_pre_
?我编辑我的问题pangkat_
应该在durasi_pre_
之后或更新durasi_pre_
之前更新,我认为durasi_pre_
之后你需要用“成员”
并将
更改为=