外部キー関係を含むテーブルでは、データの整合性を確保するためにデータを挿入するときに特別な考慮が必要です。 MySQL での挿入を 2 つのシナリオで処理する方法を見てみましょう:
挿入する生徒のレコードとその生徒が所属する教師がある場合すでに存在する場合は、サブクエリを使用して教師の名前に基づいて外部キー (id_Teacher) を取得できます。
<code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) SELECT 'Joe The Student', id_teacher FROM TAB_TEACHER WHERE name_teacher = 'Professor Jack' LIMIT 1</code>
生徒の名前が教師はデータベースにまだ存在しないため、2 つの個別の挿入操作を実行する必要があります:
<code class="sql">INSERT INTO TAB_TEACHER(name_teacher) VALUES ('Dr. Smith')</code>
<code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) VALUES ('Mary The Student', LAST_INSERT_ID())</code>
以上が外部キー制約を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。