MySQL での外部キーを使用した値の挿入
リレーショナル データベースを使用する場合、多くの場合、外部キーを使用してテーブルに値を挿入する必要があります。 2 つの特定のケースに対処する方法は次のとおりです:
ケース 1: 既存の教師を持つ生徒を挿入する
この場合、教師の名前がわかっているため、次のことを行う必要があります。 TAB_TEACHER テーブルから ID を取得します。次のクエリでは、サブクエリを使用して外部キー値を取得します:
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
ケース 2: 新しい教師を持つ生徒を挿入する
このケースでは、新しい教師と新しい生徒の両方を挿入する必要があります。これには、2 つの別々の INSERT ステートメントが必要です:
-- Insert the new teacher
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('John Smith')
-- Get the new teacher's ID
SET @id_teacher_fk = LAST_INSERT_ID()
-- Insert the new student with the foreign key value
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Jane Doe', @id_teacher_fk)
特定の構文は MySQL のバージョンによって異なる場合があることに注意してください。詳細については公式ドキュメントを参照してください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3