社区
Web 开发
帖子详情
如何重新得到ID (自动增长的主键),
rationalMath
2003-09-28 10:49:58
我插入一条记录到数据库中后,想知道我到底插了哪条数据?需要重新获得ID。
如何做。
1.如果重新用Select max(ID )
在这个过程之前正好对象也插了一条记录,
问题就出现了。
2.用刚才插入的其他值查询
问题是其他值不一定唯一。
事实上 我是在考虑 如何做DAO对象的新建方法。
...全文
53
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 8
自动
增长
主键
的变化
希望本文的内容能够帮助您理解MySQL 8中
自动
增长
主键
的变化,并在实际开发中得到应用。总结一下,在MySQL 8中,
自动
增长
主键
的定义语法发生了变化,我们可以使用。关键字来定义
自动
增长
主键
,但是引入了一种新的语法...
主外键关联情况下重新调整
自动
增长
主键
id
的值
id
字段都是
自动
增长
的
主键
。对tt中的记录进行增删操作时,
id
的值始终自增,如何使得自增
主键
重新排序呢? 步骤: (1)分别查看关系结构,注意约束名称。 show create table tt; show create table ad; ...
mysql
id
自动
增长
_MySQL中如何设置
自动
递增
id
主键
重新计数从1开始?
在使用auto_increment时,应该注意一个小问题, 当进行delete from 表名称 清空表的时候,重新插入数据 , 发现auto_increment
主键
字段计数不是从1开始的,而是接着最新插入的数据
id
开始!那么如何重新计数呢?可以使用...
mysql设置
主键
自动
增长
设置
主键
id
自增的数据库表删除数据后,自增
id
不会
自动
重新计算 想要重新设置自增的
id
可以用如下命令: alter table table_name AUTO_INCREMENT=100; table_name是表名,100表示自增开始的位置。 ...
MySQL表
主键
id
自
增长
重新排序
MySQL表
主键
id
自
增长
重新排序
Web 开发
81,095
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章