MySQL:使用Group By更新字段
这是一个例子: 表mysql架构: id name salary 1 david 20 2 jack 30 3 david 10 我想添加MySQL:使用Group By更新字段,mysql,sql,Mysql,Sql,这是一个例子: 表mysql架构: id name salary 1 david 20 2 jack 30 3 david 10 我想添加按名称分组,以避免david的重复更新 我该怎么做呢?尝试使用LIMIT,它是MySQL使用的SQL的扩展: $sql = "UPDATE table SET salary = salary + 5 WHERE name = 'david' ORDER BY id LIMIT 1"; 使用G
按名称分组
,以避免david的重复更新
我该怎么做呢?尝试使用LIMIT,它是MySQL使用的SQL的扩展:
$sql = "UPDATE table SET salary = salary + 5 WHERE name = 'david'
ORDER BY id LIMIT 1";
使用GROUP BY没有任何意义,因为更新组中的第一行、最后一行还是所有行是不明确的。MySQL不支持UPDATE语句中的GROUP BY子句。您将更新哪一行,在您的示例中是1行还是3行?是要同时更新这两行还是只更新其中一行?如果是这样,您需要使用不同的查询,使用
id
,而不是name
。这根本没有意义。分组依据如何定义您所指的david
?
$sql = "UPDATE table SET salary = salary + 5 WHERE name = 'david'
ORDER BY id LIMIT 1";