Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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
MySQL案例从多列更新一列+;喜欢_Mysql_Sql Update_Case_Multiple Columns_Sql Like - Fatal编程技术网

MySQL案例从多列更新一列+;喜欢

MySQL案例从多列更新一列+;喜欢,mysql,sql-update,case,multiple-columns,sql-like,Mysql,Sql Update,Case,Multiple Columns,Sql Like,我想知道这是否可以从其他不同列中的值更新一列。。。比如: UPDATE table SET column1 = CASE column2,column3 WHEN column2 == test AND column3 == 1 THEN 100 WHEN (column2 LIKE %test1% OR column2 LIKE %test2%) AND column3 == 2 THEN 50 ELSE 0 END 谢谢你的回

我想知道这是否可以从其他不同列中的值更新一列。。。比如:

UPDATE table
    SET column1 = CASE column2,column3
        WHEN column2 == test AND column3 == 1 THEN 100
        WHEN (column2 LIKE %test1% OR column2 LIKE %test2%) AND column3 == 2 THEN 50
        ELSE 0
    END
谢谢你的回答

编辑:为可能有相同问题的其他人解答:

UPDATE table
    SET column1 = CASE 
        WHEN column2 = test AND column3 = 1 THEN 100
        WHEN (column2 LIKE '%test1%' OR column2 LIKE '%test2%') AND column3 = 2 THEN 50
        ELSE 0
    END
在case之后删除“column2,column3”并尝试以下操作

UPDATE table
    SET column1 = CASE WHEN column2 == test AND column3 == 1 THEN 100
        WHEN (column2 LIKE '%test1%' OR column2 LIKE '%test2%') AND column3 == 2 THEN 50
        ELSE 0
    END
以下是有关案例陈述的更多指导链接:

删除案例后面的“column2,column3”,然后尝试以下操作

UPDATE table
    SET column1 = CASE WHEN column2 == test AND column3 == 1 THEN 100
        WHEN (column2 LIKE '%test1%' OR column2 LIKE '%test2%') AND column3 == 2 THEN 50
        ELSE 0
    END
以下是有关案例陈述的更多指导链接:

尝试删除案例后的第2列、第3列。并确保%test1%和%test2%位于Quotes中,这似乎不起作用…:/请尝试删除案例后的第2列、第3列。并确保%test1%和%test2%位于quotesit中它似乎不起作用…:/