先插A表数据 得到A表自增ID 然后插入到B 表 如何实现

zmidl 2015-08-18 02:06:48
如题 我有 A 表 B 表

INSERT INTO A表 (name)VALUES('aaa');
SELECT @@IDENTITY
到此为止 我获得了 之前一次insert 的 自增ID 值
我要在此基础上 插入B 表 把刚刚得到的 id 值 再插入B 表如何写
insert into B 表 (ID ) values ( 刚刚获得的id值)
...全文
310 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmidl 2015-08-23
  • 打赏
  • 举报
回复
引用 6 楼 ACMAIN_CHM 的回复:
last_insert_id()
老样子 报“{"Parameter '@id' must be defined."}” 我是这样写的 insert into ......; // 需要得到此 ID SET @id = LAST_INSERT_ID(); insert into 表A ......values(@id,..); insert into 表B.......vaules(@id...); 用客户端软件可以操作的 就是 mysql类给报异常 c# code : conn.Open(); // using (MySqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = cmdStr; using (MySqlDataReader odr = cmd.ExecuteReader())// 这里说是 Parameter '@id' must be defined 断点到这里抛出异常了 {
ACMAIN_CHM 2015-08-23
  • 打赏
  • 举报
回复
last_insert_id()
zmidl 2015-08-23
  • 打赏
  • 举报
回复
引用 3 楼 benluobobo 的回复:
在执行完A表的insert后 set @id = SELECT @@IDENTITY 后面都用这个@id即可
非常版主 我用mysql图形客户端 实现了此功能,我有个追加问题,我用C# 的MySql.Data.MySqlClient.MySqlCommand类 操作数据库时候 抛出了 @id 没有定义的 异常 不知道如何解决啊。
道玄希言 2015-08-18
  • 打赏
  • 举报
回复
引用 2 楼 zmidl 的回复:
我自己瞎弄出来了 insert into B 表 (ID ) values ( @@IDENTITY) 这样带进去OK 了 但是 如果我要再插入一个C 表 还是要插 A表的自增ID 如何做啊?
通过变量纪录下插入A表后的自增ID值, 然后你想再插入多少表就插入多少表都沒关系了。
benluobo 2015-08-18
  • 打赏
  • 举报
回复
在执行完A表的insert后 set @id = SELECT @@IDENTITY 后面都用这个@id即可
zmidl 2015-08-18
  • 打赏
  • 举报
回复
我自己瞎弄出来了 insert into B 表 (ID ) values ( @@IDENTITY) 这样带进去OK 了 但是 如果我要再插入一个C 表 还是要插 A表的自增ID 如何做啊?
zmidl 2015-08-18
  • 打赏
  • 举报
回复
我自己瞎弄出来了 insert into B 表 (ID ) values ( @@IDENTITY) 这样带进去OK 了 来人 进来 拿分吧

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧