MySQL 外部キー制約の一般的な操作の例 [表示、追加、変更、削除]

MySQL 外部キー制約の一般的な操作の例 [表示、追加、変更、削除]

この記事では、例を使用して、MySQL 外部キー制約の一般的な操作について説明します。ご参考までに、詳細は以下の通りです。

1. データベーステーブルを作成するためのSQL文を表示する

テーブル作成を表示 VIP

2. 外部キーの制約名を表示する

テーブル `vip` を作成します (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `address` varchar(255) デフォルト NULL,
 `code` varchar(255) デフォルト NULL,
 `mobile` varchar(255) デフォルト NULL,
 `name` varchar(255) デフォルト NULL,
 `score` int(11) デフォルト NULL,
 `id_code` varchar(255) デフォルト NULL,
 `user_id` int(11) デフォルト NULL,
 主キー (`id`)、
 キー `FK1C81D1738DA76` (`user_id`)、
 制約 `FK1C81D1738DA76` 外部キー (`user_id`) 参照 `user` (`id`)
) エンジン=InnoDB AUTO_INCREMENT=7 デフォルト文字セット=utf8

3. 外部キー制約を削除する

テーブル VIP を変更して外部キー FK1C81D1738DA76 を削除します

4. 外部キーを削除する

テーブル VIP を変更して user_id を削除します

5. 外部キー制約を追加する

ALTER TABLE `tfeedbackmessage`
制約 `FK_i1q2cf5pxfr8r69cfci3yyari` を追加 FOREIGN KEY (`HANDLERID`) 参照 `toperationuser` (`FID`) 
ON DELETE CASCADE ON UPDATE RESTRICT;

一般的な操作の概要:

テーブルのフィールド情報を表示します: desc テーブル名;

テーブルのすべての情報を表示します: show create table table name;

主キー制約を追加します: alter table table name add constraint primary key (例: PK_table name) primary key table name (primary key field);

外部キー制約を追加します。alter table で制約 foreign key from table を追加します (例: FK_from table_primary table) foreign key from table (外部キー フィールド) は primary table (主キー フィールド) を参照します。

主キー制約を削除します: alter table table name drop primary key;

外部キー制約を削除します: alter table table name drop foreign key foreign key (大文字と小文字が区別されます);

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL ログ操作スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQL 外部キー制約 (FOREIGN KEY) ケースの説明
  • MySQL 外部キー制約とテーブル関係の概要
  • MySQL 外部キー制約の例の説明
  • MySQL 外部キー制約の詳細な説明
  • 外部キー制約を持つテーブルデータを削除する MySQL メソッドの紹介
  • MySQLデータベースで外部キー制約を使用する必要があるかどうかの詳細な説明

<<:  Vueのフロントエンドとバックエンドのデータのやり取りと表示を理解する方法

>>:  Linux でタスク用のカスタム システム トレイ インジケーターを作成する

推薦する

広告を閉じるための JavaScript カウントダウン

広告を閉じるまでのカウントダウンを実装するために JavaScript を使用するまだフロントエンド...

nginxリバースプロキシwebSocket設定の詳細な説明

最近、プロジェクトで作業しているときに webSocket プロトコルを使用し、WeChat アプレ...

MySQL トランザクションの詳細

目次導入取引の4つの特徴トランザクション分離レベル確認するMVCC現在の読書スナップショット読み取り...

Windows で MySQL サービスを停止または削除できない問題の解決策

圧縮パッケージを解凍して Windows に MySQL をインストールしました。インストール方法は...

jquery+springbootでファイルアップロード機能を実現

この記事の例では、ファイルアップロード機能を実現するためのjquery+springbootの具体的...

Windows 10 1903 エラー 0xc0000135 の解決方法 [推奨]

Windows 10 1903 は、2019 年に Microsoft がリリースした Windo...

CSS3 はアニメーション属性を使用してクールな効果を実現します (推奨)

animation-name アニメーション名。複数のアニメーションがバインドされていることを示す...

MySQL データ型の完全分析

データ型: 列に格納できるデータとそのデータが実際にどのように格納されるかを定義する基本ルール。デー...

docker のインストールが完了し、bridge-nf-call-iptables が無効であると報告される問題を解決します

Centos マシンで docker のインストールが完了したら、docker info コマンドを...

MySQL の遅いクエリとクエリ再構築方法の記録

序文スロークエリとは何か、またスロークエリを最適化するにはどうすればよいか。以下では、これら 2 つ...

MySQLで置換関数を実装するためのいくつかの実用的なシナリオ

REPLACE構文REPLACE(String,from_str,to_str)つまり、String...

トリガーメソッドを使用して、ファイルタイプの入力をクリックせずにポップアップファイル選択ダイアログボックスを実現します。

トリガー メソッドを使用できます。JavaScript にはネイティブのトリガー関数はありません。自...

MySQLデータベースはsysbenchに基づくOLTPベンチマークテストを実装します

Sysbench は、MySQL データベース ストレージ エンジン InnoDB のディスク I/...

ES5とES6の違いを分析する

目次概要関数シグネチャオプションパラメータ非厳密モード例外処理実用要約する概要ご存知のとおり、ES6...