IDの最大数を更新するクエリが必要です...ここに私のコードがあります..
UPDATE `jobs` SET `sectors` = '12' WHERE `id` = (SELECT MAX(`id`) FROM `jobs`)
エラーは言う:#1093 - You can't specify target table 'wpjb_job' for update in FROM clause
これを実現するにはどうすればよいですか?
が一意のフィールドである場合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)