首页 > 解决方案 > 基于单个选择查询在 MYSQL 中插入多行

问题描述

我有 2 个名为 Courses(C_ID, C_NAME, CREATED_AT) 和 Topics(T_ID, C_ID, T_NAME, CREATED_AT) 的表。Topics 表中的 C_ID 引用 Courses 表中的 C_ID。

现在我必须在插入特定课程后对主题表运行插入查询。但我无法弄清楚如何为主题表制作插入查询。我目前有一个数组中的主题。

我想到的是:

insert into Topics(C_ID, T_NAME, CREATED_AT) VALUES
((some select statement to get the newly inserted course's C_ID), topic0, NOW()),
((some select statement to get the newly inserted course's C_ID), topic1, NOW()), // Selecting same C_ID as above
((some select statement to get the newly inserted course's C_ID), topic2, NOW()) // Selecting same C_ID as above
...

但我不想为每一行多次重复相同的选择语句,因为它每次都会产生相同的 C_ID。

有没有办法正确地做到这一点?我是 SQL 的业余爱好者。任何帮助,将不胜感激。提前致谢!

标签: mysql

解决方案


推荐阅读