Mysql 更新sql查询,其中选择max
我想要一个更新id最大编号的查询。。。这是我的密码Mysql 更新sql查询,其中选择max,mysql,sql,Mysql,Sql,我想要一个更新id最大编号的查询。。。这是我的密码 UPDATE `jobs` SET `sectors` = '12' WHERE `id` = (SELECT MAX(`id`) FROM `jobs`) 错误为:1093-不能在FROM子句中为update指定目标表“wpjb_job” 我该怎么做才能做到这一点呢?如果id是唯一字段,那么您可以使用以下查询: UPDATE `jobs` SET `sectors` = '12' ORDER BY `id` DESC LIMIT 1
UPDATE `jobs` SET `sectors` = '12' WHERE `id` = (SELECT MAX(`id`) FROM `jobs`)
错误为:1093-不能在FROM子句中为update指定目标表“wpjb_job”
我该怎么做才能做到这一点呢?如果id是唯一字段,那么您可以使用以下查询:
UPDATE `jobs`
SET `sectors` = '12'
ORDER BY `id` DESC LIMIT 1
如果不是唯一的,则需要使用临时表:
UPDATE `jobs`
SET `sectors` = '12'
WHERE `id` = (SELECT `id` FROM (SELECT MAX(`id`) AS `id` FROM `jobs`) as temp)
正如AVD所说,使用如下表别名
UPDATE jobs
SET sectors= '12'
WHERE ID = (select * from (SELECT MAX(ID) FROM jobs) as t)