準備する: 教師テーブルと生徒テーブルを定義し、生徒テーブルで教師テーブル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を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Unix/Linux システムにおける nobody ユーザーと nologin の詳細な紹介
>>: nestjs における例外フィルター Exceptionfilter の具体的な使用法
Tomcat のデフォルトのログは java.util.logging を使用しますが、これにはい...
border-radius で生成できる四角形やその他の図形に影を追加する場合 (「Adaptive...
1: <a> タグを使用してページにリンクする場合、target 属性の役割は誰もが知っ...
1. csvファイルをインポートする次のコマンドを使用します。 1.mysql> infile...
Mysql Workbench はオープンソースのデータベース クライアントです。このオープンソース...
Vueはブール値でストレージを保存します今日、問題に遭遇しました。バックグラウンドから返された真偽の...
Tomcatが同時リクエストを処理する方法を理解することで、スレッドプール、ロック、キュー、および...
現在、新しいアプリプロジェクトを開発中です。私にとっても初めてのアプリ開発です。チームで調査と検討を...
目次リアクティブ機能使用法: toRef 関数 (理解するだけ)使用法: ref関数レスポンシブデー...
Dockerネットワーク管理とコンテナIP設定に基づいてNginxロードバランシングを実装するすべて...
準備のメリットPrepare SQL が生成される理由。まず、MySQL サーバー上で SQL を実...
この記事では、テーブル内のデータを追加、削除、変更するためのvue要素の具体的なコードを参考までに共...
目次01 シナリオ分析02 操作方法03 結果分析01 シナリオ分析今日の午後、開発仲間がオンライン...
私が初めてdockerを使用したときは、dockerfileやdocker-composeを使用して...
1. 文書化ルール1. 大文字と小文字が区別されます。 2. 属性値は引用符(一重引用符または二重引...