同时添加数据到两张表,第一张表的主键要添加到第二张表中

时间:2021-05-14 14:54:05
同时添加数据到两张表。要求第一张表的主键要添加到第二张表中

7 个解决方案

#1


举例说明要求

#2


例如 A表中有字段id,Aname,age;id为自动生成      B表中有id,Bname 
假如现在插入一条数据  A表:1,aa,18    B表为:1,aa       

#3


在A表的AFTER INSERT TRIGGER中
insert into b values(LAST_INSERT_ID(),new.Aname)

#4


这个可以在代码中控制
A表保存成功后、返回表ID,在把该ID赋值B表。

#5


引用 3 楼 wwwwb 的回复:
在A表的AFTER INSERT TRIGGER中
insert into b values(LAST_INSERT_ID(),new.Aname)


大神  可以不用触发器吗? 写个存储过程给我把 谢了。。。

#6


引用 5 楼 czhdan 的回复:
Quote: 引用 3 楼 wwwwb 的回复:

在A表的AFTER INSERT TRIGGER中
insert into b values(LAST_INSERT_ID(),new.Aname)


大神  可以不用触发器吗? 写个存储过程给我把 谢了。。。

一样的,在SP中
insert into a(Aname,age) values('aa',18);
insert into b values(LAST_INSERT_ID(),(select aname from a where id=LAST_INSERT_ID()))

#7


insert into A(col1) values ('xxx');
insert into B(col2,AID) values ('yyyy',LAST_INSERT_ID());

#1


举例说明要求

#2


例如 A表中有字段id,Aname,age;id为自动生成      B表中有id,Bname 
假如现在插入一条数据  A表:1,aa,18    B表为:1,aa       

#3


在A表的AFTER INSERT TRIGGER中
insert into b values(LAST_INSERT_ID(),new.Aname)

#4


这个可以在代码中控制
A表保存成功后、返回表ID,在把该ID赋值B表。

#5


引用 3 楼 wwwwb 的回复:
在A表的AFTER INSERT TRIGGER中
insert into b values(LAST_INSERT_ID(),new.Aname)


大神  可以不用触发器吗? 写个存储过程给我把 谢了。。。

#6


引用 5 楼 czhdan 的回复:
Quote: 引用 3 楼 wwwwb 的回复:

在A表的AFTER INSERT TRIGGER中
insert into b values(LAST_INSERT_ID(),new.Aname)


大神  可以不用触发器吗? 写个存储过程给我把 谢了。。。

一样的,在SP中
insert into a(Aname,age) values('aa',18);
insert into b values(LAST_INSERT_ID(),(select aname from a where id=LAST_INSERT_ID()))

#7


insert into A(col1) values ('xxx');
insert into B(col2,AID) values ('yyyy',LAST_INSERT_ID());