如何在MySQL中运行此查询(仍在一个查询中)?

时间:2014-05-12 20:44:37

标签: mysql sql

我有这个查询,我尝试了一些变体,但它不会因各种不同的原因而运行:

UPDATE `table1` 
    SET `col1`='1',`col2`='1' 
        WHERE `col3`='302' && `col4`='136' && 
            `col5`=(SELECT MAX(`col5`) 
                FROM `table1` 
                    WHERE `col3`='302' && `col4`='136')

2 个答案:

答案 0 :(得分:2)

使用AND代替&&。此外,如果col N类型为数字,则您不必使用单引号。

UPDATE `table1` 
SET `col1`='1',`col2`='1' 
WHERE `col3`='302' 
  AND `col4`='136' 
  AND `col5` = (SELECT x.* FROM (SELECT MAX(`col5`) 
                 FROM `table1` 
                 WHERE `col3`='302' AND `col4`='136') x)

答案 1 :(得分:1)

我认为您应该将&&替换为AND,它应该有效