两张表关联如何实现同时插入数据 sql具体语句

user表一:
id
name
password
表2:
id
age
sex
Userid(外键)
一对一关系,同时插入数据
三楼的不错,但我要实现的是id自增的的插入哦!

这样的语句可以放在存储过程里
declare @id int
insert into table1 (name,password) values (...)
set @id=@@identity --取到刚插入的id
insert into table2 (age,sex,userid) values (...@id)

其实这样就可以了。如果你担心两个表的数据不同步,比如可能插入了table1后,但是出错了,表1有数据但表2没有,你可以把这2条语句放一个事务里。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-03
insert into AA (id1,name,password,id2,age,sex)
select (a.id,a.name,a.password ,b.id,b.age,b.sex from user表1 a ,user表2 b where a.id =b.Userid)
第2个回答  2010-05-03
先在表一中插入数据,再在表2中插入数据:
表2的userid的值必须时在表1中存在的ID值
第3个回答  2010-05-03
你用一下连接 ,先把两张表连接接起来,再执行插入

SQL语句怎么同时往两个表中插入不同的记录
1、首先准备两个数据表,如下图所示,结构需要一样。2、接着往第一个数据表先插入一些数据。3、然后我们打开第二个数据表,这时你看到第二个里面是没数据的,我们需要将第一个中的插入进来。4、接着编写插入语句,注意这次直接在insert后面用select获取数据。5、然后我们就可以看到第二个数据表中有数...

MySQL教程如何使用两个表联合添加数据mysql两表联合添加
使用JOIN操作将数据添加到两个表中 一旦我们创建好了这两个表,就可以开始使用JOIN操作来添加数据了。假设我们想添加一个新的person记录和一个新的address记录,同时指定它们之间的关联。我们可以使用下面的SQL语句完成上述操作:INSERT INTO person (id, name)VALUES (1, ‘Alice’);INSERT ...

如何用一个sql向两个表同时插入数据
sql语句如何写能把$_POST[\\"lemon\\"]的文字同时插入两个表中sql = \\"insert into table1 value \\'\\".$_POST[\\'lemon\\'].\\"\\'\\"sql = \\"insert into table2 value \\'\\".$_POST[\\'lemon\\'].\\"\\'\\"如果用两个insert 的话有可能会出现不同步的情况,如果你在insert 插入table1,又...

sql如何同时向两张表插入数据
每一个T-SQL指令都是一个独立的批处理。而有些语法下的批处理语法是必须要进行批处理分割(关键字go)的。比如这个create table 如果想让两条sql语句同时执行是不可能做到的。但是可以使用“事务”让两条sql语句执行并保证状态一致。但是刚才说过,有些指令语法是必须要求进行批处理分割的,比如创建存储...

SQL语句 一条语句同时往两个表中添加数据
可以写一个存储过程。。。这个存储过程中把两个sql语句都写进去。你在执行这个存储过程就行了。有点类似一个方法 CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> -- Add the parameters for the stored procedure here<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <...

sql如何从两个关联的表中取出数据插入到另一个表?
1.首先准备两个数据表,如下图所示,具有相同的结构。2.然后在第一个数据表中插入一些数据。3.然后我们打开第二个数据表,您可以看到第二个表中没有数据。我们需要在第一个中插入数据。4.接下来,编写insert语句,注意这一次直接在insert之后用select获取数据。5.然后我们可以看到第二个数据表中的...

SQL语句中两个表的连接
1、打开数据库管理工具,在数据库中新建两个表用于测试,这里,两个表的表结构要一样,分别建立TEST 和 TEST1。2、开启新的SQL查询窗口,创建一个存储过程。意思是将insert到TEST中的数据插入到TEST1中。3、单击‘执行’,一个名字为‘T’的触发就新建完成了。4、展开表结构,我们也能看见刚才新建的...

有两个表A,B,如何用SQL语句,更新A表中的一个记录的字段,并将更新后的...
update A set STATE=1 where ID=?insert into B (ID,LNAME,ROLE,GROUP_ID,STATE)select ID, NAME,ROLE,GROUP_ID,STATE from A 从你的语句来看,你更新的那个ID,是个变量 那后面的那个 select ID, NAME,ROLE,GROUP_ID,STATE from A where id =? 这里也应该是变量 这个才能一一对应上啊。...

SQL 两张表合并 (两张表的列都相同)
可以参考下面的方法:1、第一种,用一张临时表,把所有数据都放在一张表里 INSERT INTO QunList SELECT * FROM QunList89,90,91,92;再在QunList中查询 2、第二种,用 UNION ALL方式查询 SELECT * FROM QunList89 UNION ALL SELECT * FROM QunList90;...

如何用SQL语句实现将将两个表对比,将一个表中没有的数据插入另一个表...
insert into 表2 select * from 表1 where 字段1 in (select 字段1 from 表1 minus select 字段1 from 表2);commit;——这样就ok了;其中字段1就是存放你所需数据的

相似回答