[解決済み] MySQLの外部キーの基本?
2023-02-25 20:46:28
質問
MySQL の外部キー構造の使用方法について、何か良い説明はありますか?
MySQL のドキュメント自体からではよくわかりません。今まで私は、外部キーのようなものを結合とプログラミングコードで扱ってきました。
そして質問の2つ目ですが、MySQLに内蔵されている外部キーを使うことで何か改善されることはあるのでしょうか?
どのように解決するのですか?
FOREIGN KEYS
のように、データの整合性を確保するだけです。
これらは、効率という意味でクエリを改善するものではなく、いくつかの間違ったクエリを失敗させるだけです。
このような関係であれば
CREATE TABLE department (id INT NOT NULL)
CREATE TABLE employee (id INT NOT NULL, dept_id INT NOT NULL, FOREIGN KEY (dept_id) REFERENCES department(id))
を削除することはできません。
department
がある場合は
employee
's.
もしあなたが
ON DELETE CASCADE
に
FOREIGN KEY
の定義に追加すると、参照している行は参照されている行と一緒に自動的に削除されます。
制約として
FOREIGN KEY
は実際にクエリを少し遅くします。
参照されているテーブルから削除するとき、または参照されているテーブルに挿入するときに、余分なチェックを実行する必要があります。
関連
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLデータベースのテーブルのサイズを取得する方法は?
-
[解決済み] T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?
-
[解決済み] 外部キー制約のあるテーブルを切り捨てるには?
-
[解決済み] テーブルやカラムに対するすべての外部キーを確認するにはどうすればよいですか?
-
[解決済み] MySQL DROP すべてのテーブル、外部キーを無視する
-
[解決済み] MySQL エラー 1215。外部キー制約を追加できません
-
[解決済み】外部キー制約。ON UPDATEとON DELETEを使用する場合
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLとOracleの一括挿入SQLの汎用的な記述例
-
MySQLのselect、distinct、limitの使い方
-
MySQL サービスとデータベース管理
-
MySQLはこのようなUpdateステートメントを書くべきではありません
-
MysqlからElasticsearchにデータを同期させる方法を説明します。
-
面接では選択式で聞かれましたが......。.for updateはテーブルをロックするか、行をロックするか?
-
MySQL XAが分散型トランザクションを実装する方法を1記事にまとめました。
-
[解決済み】MySQLで「すべての派生テーブルは独自のエイリアスを持つ必要があります」というエラーは何ですか?
-
[解決済み】MySQL エラー 1093 - FROM 句で更新のターゲット テーブルを指定できません。
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要