準備する: 教師テーブルと生徒テーブルを定義し、生徒テーブルで教師テーブル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 の具体的な使用法
目次セマフォNginx ホットデプロイメント上記のブログ投稿に従ってください。ファイアウォールをオフ...
<br />何の警告もなく、cnBeta で TOM.COM の Web サイトが再設計...
今日、MySQLサービス1067エラー問題に遭遇しました。システムアカウントを使用するように設定して...
Linux の ps コマンドは Process Status の略です。 ps コマンドは、システ...
ハイパーリンクはインターネット全体を接続していると言っても過言ではありません。ハイパーリンクは、別の...
DockerイメージからDockerfileを取得する docker 履歴 --format {{....
まず、空気質データと地図データを組み合わせる必要があります。マップデータには属性名があるさまざまな都...
序文今日はちょっとしたデモを書きました。左右にスワイプするロジックに関わる部分があります。当初はプラ...
カメラを開くと通常はスキャンボックスが表示されますが、静的なQRコードではフォーカスを合わせたりスキ...
1. はじめにPresto は、ギガバイトからペタバイトに及ぶデータ ソースに対してインタラクティブ...
公式サイトからMySQL-5.7.11-winx64の圧縮版をダウンロード。インストール後、パスワー...
序文大規模なフロントエンドの開発に伴い、UI フレームワークが次々と登場し、フロントエンド開発におけ...
プロジェクト中、プログレスバーを実装するために js の requestAnimationFrame...
目次1. インデックスの基本1. インデックスの種類1.1 Bツリーインデックス1.2 ハッシュイン...
目次シングルスレッド非同期シングルスレッドしかし、開発中にネットワーク リクエストやスケジュールされ...