外部キーの役割データの一貫性、整合性を維持し、外部キー テーブルに格納されているデータを制御することが主な目的です。 2 つのテーブルを関連付けるには、外部キーは外部テーブル内の列の値のみを参照できます。 例えば: 2つのテーブル 表aには顧客番号と顧客名が含まれています テーブル b には各顧客の注文が格納されます。 外部キーあり テーブル b に顧客 x の注文がないことを確認した後でのみ、テーブル a から顧客 x を削除できます。 外部キーを確立するための前提条件: このテーブルの列は外部キーと同じタイプである必要があります (外部キーは外部テーブルの主キーである必要があります)。 主キーキーワードを指定します: 外部キー (列名) 外部キーキーワードを参照: <外部キーテーブル名> (外部キー列名) を参照 イベント トリガーの制限: 削除時および更新時に、パラメータ カスケード (外部キーの変更に従う)、制限 (テーブル内の外部キーの変更を制限する)、Null の設定 (NULL 値を設定する)、デフォルトの設定 (デフォルト値を設定する)、[default] アクションなしを設定できます。 例えば: outTable テーブル主キー ID タイプ int 外部キーを持つテーブルを作成します。 テーブルtempを作成します( id int、 名前 char(20)、 外部キー(id)は、削除カスケードおよび更新カスケードでoutTable(id)を参照します。 注: 外部テーブル outTable の id 列を参照するには、id 列を外部キーとして設定します。外部キーの値が削除されると、このテーブル内の対応する列が除外されます。外部キーの値が変更されると、このテーブル内の対応する列の値が変更されます。 mysql 外部キー設定方法MySQL 外部キー設定方法 / インデックスを作成するときに、親テーブルを削除/更新するときに子テーブルに対して実行する対応する操作を指定できます。 制限、カスケード、null およびアクションなしの設定、デフォルトの設定が含まれます。
set null、setdefault、cascade を選択する場合は、誤った操作によってデータが失われる可能性があるため、注意してください。 上記の説明が十分に明確でない場合は、次の例を参照してください。 国テーブルは親テーブル、country_id は主キー、city は子テーブル、外部キーは country_id で、これは国テーブルの主キー country_id に対応します。 テーブルcountryを作成( country_id smallint unsigned not null auto_increment, 国varchar(50)がnullではない、 last_update timestamp は null ではありません。デフォルトの current_timestamp は、更新時の current_timestamp です。 主キー(country_id) )engine=INNODB デフォルト文字セット=utf8; テーブル「city」を作成します( `city_id` smallint(5) unsigned NOT NULL auto_increment, `city` varchar(50) NOT NULL, `country_id` smallint(5) 符号なし NOT NULL, `last_update` タイムスタンプ NOT NULL デフォルト CURRENT_TIMESTAMP 更新時 CURRENT_TIMESTAMP、 主キー (`city_id`)、 キー `idx_fk_country_id` (`country_id`)、 制約 `fk_city_country` 外部キー (`country_id`) 参照 `country` (`country_id`) 削除制限 ON UPDATE CASCADE )ENGINE=InnoDB デフォルト文字セット=utf8; たとえば、上記の 2 つの新しく作成されたテーブルの場合、サブテーブルの外部キーは、on delete restrict ON UPDATE CASCADE mode として指定されます。メイン テーブルがレコードを削除するときに、サブテーブルに対応するレコードがある場合は削除は許可されません。メイン テーブルがレコードを更新するときに、サブテーブルに一致するレコードがある場合は、サブテーブル内の対応するレコードがそれに応じて更新されます。 例えば: 国の値に挿入します(1, 'wq',now()); 国から*を選択します。 都市の値に挿入します(222,'tom',1,now()); 都市から*を選択します。 country_id=1 の国から削除します。 国を更新します。country_id=1 の場合、country_id=100 を設定します。 country='wq' の country から * を選択します。 city='tom' の場合、city から * を選択します。 要約するこれで、MySQL 外部キーの設定方法についての記事は終了です。MySQL 外部キーの設定方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: ウェブサイトのフロントエンドパフォーマンスの最適化: JavaScript と CSS
>>: HTML webpackプラグインの使用に関する簡単な分析
目次文字セット比較ルール4つのレベルの文字セットと比較規則3つのシステム変数このノートは主にMySQ...
北西を見ると私の故郷はどこにあるでしょうか。南東の満月を何度見たことがあるでしょうか。月が再びゆっく...
目次序文最適化ソ連オンデマンドインポート1. ルーティングファイルでコンポーネントをオンデマンドでイ...
Vueはブール値でストレージを保存します今日、問題に遭遇しました。バックグラウンドから返された真偽の...
<br />前回の記事:優秀なデザイナーの7つの原則(1):フォントデザイン 英語 原文...
最初はブラウザのスクロールバーのスタイルを変更して効果を実現したいと思っていましたが、情報を調べてみ...
この記事では、スライドタブを実装するためのjQueryの具体的なコードを参考までに紹介します。具体的...
JS の async 関数と await キーワード 関数ヘルワールド() { 「こんにちは!美しい...
この記事では、複数の画像を切り替えるJavaScriptの具体的なコードを参考までに紹介します。具体...
1. pipとは何かpip は、Python パッケージの検索、ダウンロード、インストール、アンイ...
最近、MySQL データベースを勉強していて、設定ファイルを頻繁に変更したため、MySQL データベ...
チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...
シナリオ:テーブル内のデータは、同期ツールを使用して他のデータベースと同期する必要があり、増分同期に...
概要Nginx ロード バランシングは、アップストリーム サーバー (実際のビジネス ロジックによっ...
UCenter Homeは、ComsenzがリリースしたSNSサイト構築システムです。最新バージョン...