Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL:使用不同的条件更新不同的列_Php_Mysql_Sql_Database - Fatal编程技术网

Php MySQL:使用不同的条件更新不同的列

Php MySQL:使用不同的条件更新不同的列,php,mysql,sql,database,Php,Mysql,Sql,Database,请说明如何根据不同的具体情况更新不同的列。例如: 更新表 设置col1=val1,其中col1>2 设置col2=val2,其中col2>1 可以这样编写SQL UPDATE语句吗 根据不同的条件更新不同列的位置?使用case: UPDATE table SET col1 = (CASE WHEN col1 > 2 THEN val1 ELSE col1 END), col2 = (CASE WHEN col2 > 1 THEN val2 ELSE col2

请说明如何根据不同的具体情况更新不同的列。例如:

更新表
设置col1=val1,其中col1>2
设置col2=val2,其中col2>1
可以这样编写SQL UPDATE语句吗 根据不同的条件更新不同列的位置?

使用
case

UPDATE table
    SET col1 = (CASE WHEN col1 > 2 THEN val1 ELSE col1 END),
        col2 = (CASE WHEN col2 > 1 THEN val2 ELSE col2 END);
您还可以在col1>2或col2>1的位置添加
,这样MySQL不会尝试更新所有行。

使用
case

UPDATE table
    SET col1 = (CASE WHEN col1 > 2 THEN val1 ELSE col1 END),
        col2 = (CASE WHEN col2 > 1 THEN val2 ELSE col2 END);
您还可以在col1>2或col2>1的位置添加
,这样MySQL不会尝试更新所有行