SQL语句怎么同时往两个表中插入不同的记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句怎么同时往两个表中插入不同的记录相关的知识,希望对你有一定的参考价值。
比如有一个用户表,一个用户部门表,用户表里面含有用户部门ID,我要插入用户表的时候,同时往用户部门表里面插入一条记录. 这个怎么做?如果更新用户的同时更新用户部门表,这个怎么做
1、首先准备两个数据表,如下图所示,结构需要一样。
2、接着往第一个数据表先插入一些数据。
3、然后我们打开第二个数据表,这时你看到第二个里面是没数据的,我们需要将第一个中的插入进来。
4、接着编写插入语句,注意这次直接在insert后面用select获取数据。
5、然后我们就可以看到第二个数据表中有数据了。
6、最后在进行select查询数据的时候还可以用where进行筛选。
参考技术A 得用触发器,单纯用sql语句做不到说一下,你用的什么数据库,也得把你的表结构给出来
或者你直接搜索 比如:sqlserver触发器
里边会有些例子的追问
我用SQLSERVER数据库,user表:
id ,name,email ,active ,sex , telephone ,cellphone ,position dept_id
user_dept表:
id,userid,userdept_id,updatetime,level
你能给个例子吗?
能,20分钟左右,你刷新页面看下,我先拿你表里的东西写写
追问恩恩 太感谢了!
追答你表字段我没全用,我只给你写了个insert部分的
创建表
(id int,
name varchar(10),
dept_id int)
create table user_dept
(id int identity(1, 1) primary key,
userid int,
userdept_id int,
updatetime datetime)
创建触发器
create trigger t_user
on [user] after insert
as
begin
insert into user_dept(userid,userdept_id,updatetime) select id,dept_id,GETDATE() from inserted
end
执行插入
查看结果
剩下那部分,建议你自己查资料来做吧
恩恩 太感谢了
本回答被提问者和网友采纳往新增中间表中插入旧数据
因需求需要,在项目中新增了中间表,但是需要之前的数据,顾记录下过程:
原来两个表:posts和users,关联关系:posts.poster_id = user.id;
新增中间表:posts_x_users,字段:posts_id,users_id,posts_id外键对应posts.id,users_id外键对应users.id
数据迁移:经查资料,需要用的insert into select语句
SQL:
INSERT INTO posts_x_users(posts_id,users_id)
SELECT posts.id,users.id
FROM posts
INNER JOIN users ON posts.poster_id = users.id;
以上是关于SQL语句怎么同时往两个表中插入不同的记录的主要内容,如果未能解决你的问题,请参考以下文章
插入数据库表中一条记录同时也插入另一个表中的SQL语句怎么写