如何在MySQL中运行此查询(仍在一个查询中)?
我有这个查询,我尝试了一些变体,但由于各种不同的原因,它不会运行:如何在MySQL中运行此查询(仍在一个查询中)?,mysql,sql,Mysql,Sql,我有这个查询,我尝试了一些变体,但由于各种不同的原因,它不会运行: UPDATE `table1` SET `col1`='1',`col2`='1' WHERE `col3`='302' && `col4`='136' && `col5`=(SELECT MAX(`col5`) FROM `table1` WHERE `col3`='
UPDATE `table1`
SET `col1`='1',`col2`='1'
WHERE `col3`='302' && `col4`='136' &&
`col5`=(SELECT MAX(`col5`)
FROM `table1`
WHERE `col3`='302' && `col4`='136')
使用
和
代替&&
。此外,如果colN
类型是数字,则不必使用单引号
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)
我认为您应该用
和替换&&
,它应该可以工作这会产生相同的错误,即您不能在FROM子句中指定更新的目标表“table1”
您可以添加一些关于为什么它不会运行的信息吗?因为查询是错误的。错误是您不能在FROM子句中为更新指定目标表“table1”。诺杜利西斯答对了。