ホームページ  >  記事  >  データベース  >  mysqlのサブクエリからの削除の制限についての紹介

mysqlのサブクエリからの削除の制限についての紹介

不言
不言転載
2019-02-21 11:53:164588ブラウズ

この記事では、mysql のサブクエリの削除に関する制限について説明します。必要な方は参考にしてください。 。

1. mysql を使用して delete from 操作を実行する場合、サブクエリの FROM 句と更新/削除オブジェクトが同じテーブルを使用すると、エラーが発生します。 (関連する推奨事項: MySQL チュートリアル )

mysql> DELETE FROM 'tab' where id in (select min(id) from tag GROUP BY field1,field2 HAVING COUNT(id)>1 );
エラー: FROM 句で更新のターゲット テーブル 'タブ' を指定することはできません。ほとんどの場合、この制限は、この

DELETE FROM 'tab' where id in
(
    select id from 
    (
        select max(id) from 'tab' GROUP BY field1,field2 HAVING COUNT(id)>1
    ) ids
);
## のように選択エイリアス テーブルの追加レイヤーを追加することで解決できます。 #2.テーブルから削除...テーブルはエイリアスを使用できません

mysql> a.id in (1,2);(構文エラー)
  • mysql> select a.* from table a where a.id in (1,2);(実行成功)

##

以上がmysqlのサブクエリからの削除の制限についての紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。