论坛首页 入门技术论坛

如何在插入一条记录后即得到主键ID(自动增量)的值?

浏览 4833 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-07-05  
如:
表temp_table
  id   U_name U_tel
   1   zhang  123456
   2   wang   123455
当我执行完:insert into temp_table(U_name,U_tel) values('li','123456')后就要得到这条记录的ID值为多少!?应该怎么做?
直接在这条语句后用id=rs("id"),而获得的值为空!
注:如果再重新查询一次,如用rs.movelast,个人认为这样可能会得到一个错误的(不对应的)ID。

   发表时间:2007-07-05  
你可以先得到这个ID  然后再把这个ID插进去
0 请登录后投票
   发表时间:2007-07-05  
晕..如果这么简单我还会问??真郁闷还被评为了新手帖.我是这样的,有两张表A与B,A:B=1:n
A的主键是B的外键,A的一条记录对应B的多条记录(数量不定)
为了保证A与B的一致性
在插入A的同时也要把对应的B的记录也全部插入 ,同时在B中要插入A的主键
 
0 请登录后投票
   发表时间:2007-07-05  
junjie314 写道
如:
表temp_table
  id   U_name U_tel
   1   zhang  123456
   2   wang   123455
当我执行完:insert into temp_table(U_name,U_tel) values('li','123456')后就要得到这条记录的ID值为多少!?应该怎么做?
直接在这条语句后用id=rs("id"),而获得的值为空!
注:如果再重新查询一次,如用rs.movelast,个人认为这样可能会得到一个错误的(不对应的)ID。


mysql的API可以得到这个ID,mysql_insert_id,大概不是所有数据库都有这功能吧。
0 请登录后投票
   发表时间:2007-07-05  
建议楼主去看看hibernate是怎么处理native方式的主键生成的,对于各种数据库,它是怎么来获得插入的主键值的。
0 请登录后投票
   发表时间:2007-07-09  
干脆用uuid别自增了
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics