两张关联表同时新增sql
时间: 2023-06-19 07:08:56 浏览: 88
SQLServer批量更新两个关联表数据的方法
假设我们有两个表,一个是学生表(students),一个是课程表(courses),它们之间有一个关联表(student_courses)来表示学生和他们所选的课程之间的关系。现在我们想要同时向学生表和课程表中新增数据,并且同时在关联表中创建对应的关联关系,可以使用以下 SQL 语句:
```sql
-- 向学生表中新增数据
INSERT INTO students (name, age) VALUES ('Tom', 20);
-- 获取刚刚新增的学生的 ID
SET @student_id = LAST_INSERT_ID();
-- 向课程表中新增数据
INSERT INTO courses (name, teacher) VALUES ('Math', 'John');
-- 获取刚刚新增的课程的 ID
SET @course_id = LAST_INSERT_ID();
-- 向关联表中插入对应的关联关系
INSERT INTO student_courses (student_id, course_id) VALUES (@student_id, @course_id);
```
其中,`LAST_INSERT_ID()` 函数可以用来获取刚刚插入的数据的 ID 值。我们首先插入学生数据,然后获取刚刚插入的学生的 ID 值,接着插入课程数据,获取刚刚插入的课程的 ID 值,最后在关联表中插入对应的关联关系。这样就可以同时向两个表中插入数据并创建关联关系了。
阅读全文