Delete from post
where id_post
in
(
select MIN(id_post)
from post
where id_owner='2'
)
戻り値: は、「FROM句に更新するために、ターゲットテーブル 『ポスト』を指定することはできません」削除ポスト
は私が間違って何をしているのですか?
Delete from post
where id_post
in
(
select MIN(id_post)
from post
where id_owner='2'
)
戻り値: は、「FROM句に更新するために、ターゲットテーブル 『ポスト』を指定することはできません」削除ポスト
は私が間違って何をしているのですか?
問題は、MySQLで、テーブルに対してUPDATE/INSERT/DELETEを実行している場合、内部クエリでそのテーブルを参照できないことです(ただし、その外部テーブルのフィールドを参照できます... )
溶液をこの
Delete from post
where id_post
in
(
select id_post
from (select MIN(id_post)
from post
where id_owner='2') as A
)
ORDER BY
とLIMIT
の使用はどうですか?
Delete p
from post p
where id_owner = 2
order by id_post
limit 1;
注:数値定数の周りに単一引用符を使用しないでください。私はid_owner
が数字であると推測しています。
様考え重複、id_owner =ポスト から(MIN(id_postを選択)「2」)を有するサブクエリでポストのインスタンスを置換することです[ MySQLのエラー1093 - FROM句の更新のためのターゲットテーブルを指定することはできません](http://stackoverflow.com/questions/45494/mysql-error-1093-cant-specify-target-table-for-u pdate-in-from-clause) –