準備する: 教師テーブルと生徒テーブルを定義し、生徒テーブルで教師テーブル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 の具体的な使用法
実際の業務では、JavaScript の正規表現が依然として頻繁に使用されます。したがって、この部分...
目次質問: ボタンをクリックすると、スパンの色が赤に変わりますか?上記の問題を分析します。 2番目の...
データのバックアップと復元に関する最初の記事を皆さんに共有します。具体的な内容は次のとおりです。基本...
目次1. MySQLのバックアップタイプの詳細な説明1. バックアップがデータベースに与える影響に基...
<canvas> 要素は、クライアント側のベクター グラフィックス用に設計されています。...
目次使用インストールルーティングでどのように使用しますか?読み込み速度の比較最近、中間およびバックエ...
序文springboot設定ファイルでは、設定ファイルの名前には独自の意味と用途があります。 dev...
目次$nextTick() $forceUpdate() $セット() .sync——2.3.0 以...
最近、あるプロジェクトに取り組んでいたとき、ページに透かし効果を追加するように依頼されました。さっそ...
目次1. クエリキャッシュの実装プロセス2. クエリキャッシュを構成する3. クエリキャッシュを有効...
centos8 ディストリビューションは、BaseOS および AppStream リポジトリを通じ...
html ¶ <html></html> html:xml ¶ <ht...
そこで、個性的なスタジオやフリーランスを表現する組み合わせを 30 個選びました。デザインを目立たせ...
まとめDocker-compose は複数の Docker コンテナ サービスを簡単に組み合わせるこ...
1. レンダリング2. 操作手順1. テンセントマップキーを申請する - 住所2. ミニプログラムの...