仅当条件为真时,mysql 在 SET 之后使用 IF

标签 mysql sql

我知道这个查询不正确,但我应该怎么写呢?

UPDATE OFFER SET
IF(St != 3, St = 2 AND View = '$userupdate' AND Date_V_E = '$date', '')
WHERE Id = '$entryID'

IF 应该是这样的:

if(St != 3){
   St = 2;
   View = '$userupdate';
   Date_V_E = '$date';
}else{
   //DO NOTHING
}

最佳答案

UPDATE OFFER 
SET St = 2, 
    View = '$userupdate', 
    Date_V_E = '$date'
WHERE Id = '$entryID'
and St <> 3

关于仅当条件为真时,mysql 在 SET 之后使用 IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17220443/

相关文章:

sql - 非原子值 SELECT 是特定于 SQL Server 的还是可能在其他 DBMS-es 中?

MySQL - 使用 2 列和计数按年份分组

mysql - 如何从具有某些条件的多对多关系中获取所有值

SQL Access 查询-如果存在则更新行,如果不存在则插入

Jquery下拉列表

在 Mac OS X El Capitan 10.11.4 上安装 MySQL 5.7

mysql - 循环运行时连续从串口读取数据

sql - 在 Entity Framework 中的 SQL View 上使用外键

mysql - 使用 ODBC 驱动程序将 MySQL 链接到 MSSQL Server(错误 7303)

mysql:如何从表中排除存在于表别名中且性能良好的行?