社区
Web 开发
帖子详情
如何重新得到ID (自动增长的主键),
rationalMath
2003-09-28 10:49:58
我插入一条记录到数据库中后,想知道我到底插了哪条数据?需要重新获得ID。
如何做。
1.如果重新用Select max(ID )
在这个过程之前正好对象也插了一条记录,
问题就出现了。
2.用刚才插入的其他值查询
问题是其他值不一定唯一。
事实上 我是在考虑 如何做DAO对象的新建方法。
...全文
98
10
打赏
收藏
如何重新得到ID (自动增长的主键),
我插入一条记录到数据库中后,想知道我到底插了哪条数据?需要重新获得ID。 如何做。 1.如果重新用Select max(ID ) 在这个过程之前正好对象也插了一条记录, 问题就出现了。 2.用刚才插入的其他值查询 问题是其他值不一定唯一。 事实上 我是在考虑 如何做DAO对象的新建方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunthing
2003-09-29
打赏
举报
回复
将表锁定!或设定事务级别,
这样的话都要牺牲系统的性能!
建义:将表锁定!
yuqf2000
2003-09-28
打赏
举报
回复
可以这样解决,建立一个表来存储这个主键序列,建一个类从这个表中取得主键,
这个类在处理过程中,先update,使主键值加1,再select max(),这样处理就不会有重了,主键管理类中不要使用事务,凡是使用该 方法,主键就加1
tianya2002
2003-09-28
打赏
举报
回复
我是这么做的,
先算一个统计编号,如TXC0000001 然后把他做为数据ID写入数据库中
然后在在把000000001+1写入一个计录表中。下次在调这个计录表的数据,就行了,,,
代码
public String getCount(){
try {
this.rs=executeQuery("select * from OA0011 where Type='公文起草'");
while (rs.next()){
count =(rs.getInt("COUNT"))+1 ;
}
} catch(Exception e) {
e.printStackTrace();
}
return Integer.toString(count);
}
lynx1111
2003-09-28
打赏
举报
回复
sql server 2000 标准做法:
declare @intEqId int
insert into test(bb,cc)values('dssf','sert')
select @intEqid=@@identity
realby
2003-09-28
打赏
举报
回复
我觉得咱们说的是一个问题吧,不是?~~我能无错运行~
hj12
2003-09-28
打赏
举报
回复
把你新存的对象存起来,下次用的时候去出来,就可以了。不同的对象在调用AddNewObject时候把你可以新建一个对象,这个对象和你的原来的对象基本相同,你在加上一个用来标识调用这个对象的属性,每次在你插入的时候就建立一个 这样的对象,并把他们放在集合里,在插入前你要先检查是否有同一个有相同的类生成的对象如过有,覆盖掉这个类,没有就新建,想拿出来的话,就可以上哪个集合里去取。
realby
2003-09-28
打赏
举报
回复
担心多余了~~按理你说得对~~~~但是不用管~~数据库里会做的~~为什么都有自增功能~~数据库里都考虑了~绝对不会有你说的那个情况~~~
rationalMath
2003-09-28
打赏
举报
回复
如果,在一个对象实例调用AddNewObject 和 GetNewsSn 之间,
存在别的实例或过程,
如:本对象的不同实例,也调用了AddNewObject 这时候就有问题了。
AddNewObject负责新建对象和插入一条记录。
感谢回复。
realby
2003-09-28
打赏
举报
回复
"在这个过程之前正好对象也插了一条记录" 不冲突不重复阿?
public String getNewSn() {
String sql = "select max(project_sn) from project_info";
return String.valueOf(executeQueryInt(sql)+1);
}
public boolean addProject() {
project_sn = getNewSn();
....
...
gks_cn
2003-09-28
打赏
举报
回复
各个数据库不同
如何获取mysql设置的
自动
增长
的
主键
id
值
本文介绍了在MySQL中如何正确获取设置为
自动
增长
的
主键
ID
值,包括错误和正确的代码示例。
ON DUPLICATE key update导致
主键
ID
跳跃
增长
本文探讨了程序员在项目中遇到的
主键
ID
自动
增长
跳跃问题,提供了从代码逻辑、SQL配置和Mysql设置三个角度的解决方案,以确保数据一致性并提高性能。
使用
自动
增长
的
主键
、雪花
id
或uu
id
作为Mysql
主键
的区别
本文探讨了在MySQL中,为何推荐使用
自动
增长
的
主键
而非UU
ID
,通过实测比较了自增
ID
、UU
ID
和随机长整型
ID
在插入速度和查询效率上的差异,揭示了自增
ID
在索引结构和性能上的优势,以及UU
ID
可能带来的数据分布问题和潜在安全风险。
mysql 实现
id
自增序列_MySql
主键
自动
增长
本文介绍了如何在MySQL中创建具有
自动
增长
主键
和时间戳的表,并展示了如何插入数据。通过`ALTER TABLE`语句为`user`表的`
id
`字段添加`auto_increment`属性以实现
主键
自增,同时添加`createtime`字段记录系统时间。之后创建了`dd`表,包含
自动
增长
的
主键
和系统时间戳,默认值为当前时间。
access中
主键
自动
增长
_Access获取新插入数据的自
增长
主键
Id
本文介绍了在Access数据库中如何获取新插入数据的自
增长
主键
ID
,通过示例代码展示了在插入数据后使用`@@
id
entity`查询
主键
ID
的过程。同时,文章还提及了其他数据库如SQLite、PostgreSQL、SQLServer获取自增
ID
的方法,以及在iBatis注解方式下返回自
增长
主键
ID
的解决方案。
Web 开发
81,111
社区成员
341,723
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章