如何处理 MySQL 查询中的外键插入
为了有效地将值插入到具有外键的表中,让我们探讨两种常见场景:
场景 1:添加学生和现有教师
要将新学生链接到现有教师,请使用教师姓名检索外键:
<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 a new teacher first INSERT INTO TAB_TEACHER(name_teacher) VALUES ('Professor Jade'); -- Retrieve the newly created teacher's ID SET @teacher_id = LAST_INSERT_ID(); -- Insert the new student with the foreign key pointing to the new teacher INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) VALUES ('Mia The Student', @teacher_id);</code>
在这种情况下,LAST_INSERT_ID()函数用于捕获新插入的教师的ID,以便立即用作学生的外键。
以上是如何处理 MySQL 查询中的外键插入:两种常见场景的详细内容。更多信息请关注PHP中文网其他相关文章!