メソッドのOracleとMySQLのマルチテーブルは、大量のデータを削除し、その多くが実証されていなかった、あなたは間違った情報に惑わされている可能性があり、次の2つの表は、私は、この通知に与えることを、例えば、データをMySQLへの削除しました以下に示すように少しは、私は、MySQLで2つのテーブルを作成し、ユーザテーブルと状態テーブルです。
ユーザー表のユーザー:
示すように、国立表の国、:
あなたはこれらの二つのMySQLのテーブルを見ると、あなたがそのような発言をしている削除するには、マルチテーブルデータを考える必要があり、実際には、これは間違っています!次のように。
削除 からユーザーのuを、C国どこ u.id = c.userId と u.id = 20
MySQLはマルチテーブル次のように与えられ、上記のSQL構文構文エラーによって報告された文を削除します。
[SQL]
ユーザーからのuを削除し、C国どこu.id = c.userIdとu.id = 20
[のErr] 1064 - あなたはあなたのSQL構文でエラーが発生しています。近くに使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください「U、C国u.id = c.userIdとu.id = 20」行1で
マルチMySQLは接続、次の2つのステートメント、必要に応じを除去するために適切な方法で提供されたデータテーブルを削除します。
// 语句一 削除 C、uとから、ユーザuはINNER JOINの国cを上 u.id = c.userId と u.id = 20 // 语句二 削除、uとC からユーザuはINNER JOINの国をC どこ u.id = C .userId と u.id = 10
あなたが思うだろう今回は、Oracleは、これらの二つの文の上に複数のテーブルを使用することができ、データを削除しますか?答えは:いいえ!、それはエラーとして報告されます。
"ORA-00933:SQLコマンドが正常に使用できません"
説明オラクルは、上記の二つの文は、複数のテーブルのデータを削除されていない使用、およびマルチテーブルOracleはそれを書くためにどのようにデータを削除しますか?次のようにコマンドがあります。
// Oracleは唯一の独立した実行できる 削除 からユーザーWHERE users.id = 20 削除 から国WHERE country.userId = 20
オラクルでは、Oracleデータベースに関連するセキュリティ・メカニズムを続けることができた、関連する複数のテーブルを削除することはできません、あなただけ実行するために2つのSQL文の中に上記の文を置くことができ、マルチテーブルでは、Oracleを削除達成することができます。