MySQL データベースでは、テーブルが互いに関連付けられた後は、それらを任意に削除することはできません。削除すると、関連付けられているすべてのテーブルの構造が影響を受けます。では、関連付けられているテーブルを安全に削除するにはどうすればよいでしょうか。調べてみましょう。 テーブルから外部キー制約を削除する 外部キーは、テーブルをその親テーブルに関連付ける特別なフィールドです。テーブルが作成されると、外部キー制約はすでに設定されています。それらの間の関連付けを削除するには、次のステートメントを使用する必要があります。 テーブルを変更し、テーブル名を削除し、外部キーと外部キーの別名を削除します。 外部キーエイリアスパラメータは、テーブルの作成時に設定された外部キーコードを参照します。 2. 関連付けられていない共通テーブルを削除する テーブル名を削除します。 テーブルを削除すると、テーブル内のすべてのデータも削除されます。テーブルを削除するときは、まずテーブル内のデータをバックアップすることをお勧めします。 3. 他のテーブルに関連付けられた親テーブルを削除する 関連付けられているリレーションシップを持つテーブルを削除する場合、テーブルに依存する外部キーがあるため、drop table example1 を使用するとエラーが発生します。 たとえば、example1 テーブルに依存する example4 テーブルが作成され、example4 テーブルの外部キー stu_id は example1 テーブルの主キーに依存します。 example1 テーブルは example4 テーブルの親テーブルです。 example4 テーブルを削除する場合は、まずこの依存関係を削除する必要があります。最も簡単な方法は、最初に子テーブル example4 を削除し、次に親テーブル example1 を削除することです。ただし、サブテーブル内の他のデータに影響する可能性があります。 別の方法としては、まず子テーブルの外部キー制約を削除し、次に親テーブルを削除します。この方法はサブテーブル内の他のデータに影響を与えず、データベースのセキュリティを確保できます。 たとえば、example4 の外部キーの別名は d_fk です。example4 の外部キー制約を削除します。 テーブル例4を変更し、外部キーd_fkを削除します。 削除されたかどうかを確認するには、show create table example4 \G を実行します。 次に、drop table example1; を実行します。 実行が成功すれば、操作は成功です。 以下もご興味があるかもしれません:
|
<<: JavaScript 配列の include と Reduce の基本的な使用法
>>: VMware12 インストール centOS8 構成グラフィック チュートリアルの詳細説明 (vm 仮想マシン インストール centos8 チュートリアル)
HTML で下線を引くには、以前はテキストを <u></u> タグで囲む必要...
準備1. GPUがCUDAをサポートしているかどうかを確認するlspci | grep -i nvi...
目次1. 環境変数$PATH: 2. 環境変数を変更します。 3. bash_profileの目的要...
目次1. テーブル自動ソート2. ページング機能3.el-checkbox-group 複数選択ボッ...
目次背景説明GETリクエストの作成事前リクエストスクリプトで署名を作成するスクリプトは環境変数に書き...
目次安定スロットリング要約する安定自動ドアは人を感知してドアを開け、5 秒間のカウントダウンを開始し...
序文この記事では、主にWeb開発のためのクロスドメインソリューションを紹介し、参考と学習のために共有...
HTML ハイパーテキスト ドキュメントの基本構造は、ドキュメント ヘッダーとドキュメント本体の 2...
目次1. 正規表現の作成2. 使用モード2.1 シンプルモードの使用2.2 特殊文字の使用3. 応用...
目次背景実装のアイデア成果を達成する背景最近取り組んでいるプロジェクトは、Vue2 で構築されたプロ...
リストは、テーブルをコンテナーとして使用するテキストまたはグラフの形式として定義されます。商品の種類...
この記事では主に、Vue + SpringBoot でページ分割されたリストデータを実装する方法を紹...
設定ファイルを server.xml と content.xml に書き込みます。サーバーを再起動す...
私は、デスクトップ バージョンとサーバー バージョンの両方で、仮想マシンにさまざまなイメージを何度も...
Dockerfile の設定に問題はありませんが、ENTRYPOINT コマンドを実行するとエラー...