php - mysql中if语句的使用方法

标签 php mysql pdo

如果 durasi_pre_u 的基本值大于 0,我希望从 durasi_pre_u 中减去 1 (-1) 值,并将 Premium 更新为 成员,当 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

最佳答案

您的查询有错误,首先您只想更改 pangkat_u 的值当durasi_pre_u的当前值是1(因此即将变为0),因此您需要更改<>= 。其次你有 pangkat_u = 'Member'作为新值,MySQL 将其视为 bool 表达式(即值 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)

关于php - mysql中if语句的使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52453394/

相关文章:

php - 使用 pdo 插入 cookie 值

php - 使用PDO登录时,PHP检查数据库中的用户名和密码

php - 关闭 PHP.ini 文件 WAMP 中的弃用警告

javascript - 卡住 jquery 加载上最后查看的位置

java - UTF-8 无法通过 JDBC 在带有 MySQL 的 Servlet 中工作

mysql - 在另一个查询中使用查询结果

php - Symfony 2.6 - 按名称呈现个人选择字段(单选、复选框)

javascript - 安全地将敏感数据从 PHP 传递到 javascript

php - 三张表使用 CI 连接

php - 将mysql的连接和查询重写为PDO