MySQL の「ON DELETE CASCADE」は、関連する行を削除するときにデータの整合性をどのように確保できますか?
MySQL の「ON DELETE CASCADE」: 参照整合性の維持
データベース設計では、テーブル間の関係の確立が頻繁に行われます。 MySQL の ON DELETE CASCADE
制約は、関連データの削除を自動的に管理するための堅牢なソリューションを提供します。これにより、リンクされたテーブル間で削除が同期されるため、データの整合性が確保されます。
参照整合性の課題への対処
一般的なシナリオ、つまりコンポーネントとそのタイプ間の多対 1 の関係を考えてみましょう。 目標は、特定のタイプが削除されたときに、そのタイプに関連付けられているすべてのコンポーネントを自動的に削除することです。 ただし、コンポーネントが削除されるときに、タイプが意図せず削除されるのではないかという懸念がしばしば生じます。
正しい実装
キーは、components
テーブルの外部キー制約の正確な定義です。 最適化された SQL コードは次のとおりです:
CREATE TABLE `components` ( `id` int(10) unsigned NOT NULL auto_increment, `typeId` int(10) unsigned NOT NULL, `moreInfo` VARCHAR(32), -- etc PRIMARY KEY (`id`), KEY `type` (`typeId`) CONSTRAINT `myForeignKey` FOREIGN KEY (`typeId`) REFERENCES `types` (`id`) ON DELETE CASCADE ON UPDATE CASCADE )
詳しい説明
-
外部キーの定義:
FOREIGN KEY
句は、typeId
テーブルのcomponents
列をid
テーブルのtypes
列にリンクします。 -
ON DELETE CASCADE
アクション: この重要な部分は、types
テーブルから行を削除すると、components
が一致するtypeId
テーブル内の対応するすべての行の削除を自動的にトリガーすることを指示します。 🎜> -
アクション:
ON UPDATE CASCADE
これにより、 テーブル内のid
が更新されると、types
テーブル内の対応するtypeId
も同様に更新されます。components
-
InnoDB エンジン要件: 外部キー制約には InnoDB ストレージ エンジンが必要です。 古いデフォルトの MyISAM には、この機能がありません。
以上がMySQL の「ON DELETE CASCADE」は、関連する行を削除するときにデータの整合性をどのように確保できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
