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 の具体的な使用法

推薦する

TomcatはLog4jを使用してcatalina.outログを出力します。

Tomcat のデフォルトのログは java.util.logging を使用しますが、これにはい...

不規則な投影を実現するためのボックスシャドウとドロップシャドウのサンプルコード

border-radius で生成できる四角形やその他の図形に影を追加する場合 (「Adaptive...

HTMLタグのtarget属性の使用法

1: <a> タグを使用してページにリンクする場合、target 属性の役割は誰もが知っ...

CSV、Excel、SQL ファイルを MySQL にインポートするためのヒント

1. csvファイルをインポートする次のコマンドを使用します。 1.mysql> infile...

Mysql Workbench クエリ mysql データベース メソッド

Mysql Workbench はオープンソースのデータベース クライアントです。このオープンソース...

Vueストレージにはブール値のソリューションが含まれています

Vueはブール値でストレージを保存します今日、問題に遭遇しました。バックグラウンドから返された真偽の...

Tomcatはスレッドプールを使用してリモート同時リクエストを処理します。

Tomcatが同時リクエストを処理する方法を理解することで、スレッドプール、ロック、キュー、および...

Vue3+Vantコンポーネントを使用してアプリの検索履歴機能を実装する(サンプルコード)

現在、新しいアプリプロジェクトを開発中です。私にとっても初めてのアプリ開発です。チームで調査と検討を...

Vue3 のリアクティブ関数 toRef 関数 ref 関数の紹介

目次リアクティブ機能使用法: toRef 関数 (理解するだけ)使用法: ref関数レスポンシブデー...

Docker Compose を使用して nginx のロード バランシングを実装する方法

Dockerネットワーク管理とコンテナIP設定に基づいてNginxロードバランシングを実装するすべて...

MySQL準備原理の詳細な説明

準備のメリットPrepare SQL が生成される理由。まず、MySQL サーバー上で SQL を実...

Vue要素はテーブルの追加、削除、データの変更を実装します

この記事では、テーブル内のデータを追加、削除、変更するためのvue要素の具体的なコードを参考までに共...

MySQLオンラインデータベースのデータをクリーンアップする方法

目次01 シナリオ分析02 操作方法03 結果分析01 シナリオ分析今日の午後、開発仲間がオンライン...

Dockerは起動されていないコンテナの設定情報を変更します

私が初めてdockerを使用したときは、dockerfileやdocker-composeを使用して...

XML構文の詳細な説明

1. 文書化ルール1. 大文字と小文字が区別されます。 2. 属性値は引用符(一重引用符または二重引...