MySQL 子テーブルで外部キー制約チェックを無効にする方法

MySQL 子テーブルで外部キー制約チェックを無効にする方法

準備する:

教師テーブルと生徒テーブルを定義し、生徒テーブルで教師テーブルIDを参照します。

テーブルteachersを作成します(teacherID int not null auto_increment primary key,teacherName varchar(8));

学生テーブルを作成します(学生ID int not null auto_increment 主キー、教師ID int not null、学生名 varchar(8)、

制約 fk_students_teacherID 外部キー (teacherId) は teachers(teacherId) を参照します (削除時にアクションは発生しません、更新時にはアクションは発生しません)。

最初のステップ:

先生を挿入

教師に(教師名)値('NameA')を挿入します。

生徒を挿入:

insert into students(studentName,teacherID) values('NameB',100);--そのような教師IDは存在しないため、挿入は失敗することがわかります。

しかし、不合理なデータを挿入する方法はあるのでしょうか?まだ道はある

ステップ2:

foreign_key_checks = 0; に設定するだけです。

学生に(学生名、教師ID)値('NameB'、100)を挿入します。

ステップ3:

デフォルト値に戻して、外部キー制約のチェックを維持します。

foreign_key_checks = 1 を設定します。

要約:

このエッセイは非常に乱雑です。私が言いたい主な点は、foreign_key_checks = 0; に設定すると外部キー制約は役に立たなくなるということです。このとき、外部キー制約に違反する子テーブルに挿入することができます。

絶対に必要な場合を除いてこれを使用しないでください。

子テーブルを閉じるためのMySQL外部キー制約チェック方法に関する上記の記事は、私が皆さんと共有したいことのすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL に外部キー制約を追加する具体的な方法
  • MySQL 外部キー制約 (FOREIGN KEY) ケースの説明
  • MySQL 外部キー制約とテーブル関係の概要
  • MySQL 外部キー制約の例の説明
  • MySQL 外部キー制約の詳細な説明
  • 外部キー制約を持つテーブルデータを削除する MySQL メソッドの紹介
  • MySQL テーブルを削除するときに外部キー制約を無視するシンプルな実装
  • MySQL で外部キー制約を作成および削除する方法

<<:  Unix/Linux システムにおける nobody ユーザーと nologin の詳細な紹介

>>:  nestjs における例外フィルター Exceptionfilter の具体的な使用法

推薦する

JavaScript における正規表現の実際的な応用の詳細な説明

実際の業務では、JavaScript の正規表現が依然として頻繁に使用されます。したがって、この部分...

Reactにおけるキーの役割の詳細な説明

目次質問: ボタンをクリックすると、スパンの色が赤に変わりますか?上記の問題を分析します。 2番目の...

史上最もシンプルな MySQL データのバックアップと復元のチュートリアル (パート 1) (パート 35)

データのバックアップと復元に関する最初の記事を皆さんに共有します。具体的な内容は次のとおりです。基本...

MySQL インポートおよびエクスポートのバックアップの詳細

目次1. MySQLのバックアップタイプの詳細な説明1. バックアップがデータベースに与える影響に基...

jQueryはキャンバスタグを使用して検証コードを描画します

<canvas> 要素は、クライアント側のベクター グラフィックス用に設計されています。...

React で遅延読み込みを使用して最初の画面の読み込み時間を短縮する方法

目次使用インストールルーティングでどのように使用しますか?読み込み速度の比較最近、中間およびバックエ...

Linux 編集の開始、停止、再起動の Springboot jar パッケージ スクリプトの例

序文springboot設定ファイルでは、設定ファイルの名前には独自の意味と用途があります。 dev...

Vue開発の一般的な手法の詳細な説明

目次$nextTick() $forceUpdate() $セット() .sync——2.3.0 以...

Vueはページに透かし効果を追加する機能を実装します

最近、あるプロジェクトに取り組んでいたとき、ページに透かし効果を追加するように依頼されました。さっそ...

MySQLクエリキャッシュの簡単な使い方の詳細な説明

目次1. クエリキャッシュの実装プロセス2. クエリキャッシュを構成する3. クエリキャッシュを有効...

CentOS8 でローカル yum ソースを構成するための詳細なチュートリアル

centos8 ディストリビューションは、BaseOS および AppStream リポジトリを通じ...

パーソナライズされたクリエイティブなウェブサイトデザインの例 (30)

そこで、個性的なスタジオやフリーランスを表現する組み合わせを 30 個選びました。デザインを目立たせ...

docker compose サービスの起動順序を制御する方法

まとめDocker-compose は複数の Docker コンテナ サービスを簡単に組み合わせるこ...

WeChatミニプログラムにナビゲーション機能を実装する方法

1. レンダリング2. 操作手順1. テンセントマップキーを申請する - 住所2. ミニプログラムの...