我想递增,查询出最大值然后加1值就不会重复了。
string sql ="select max(id) from table_name;
怎么获取数据库里这个id值呀?
11 个解决方案
#1
ado.net 的 sqlcommand对象执行executescalar方法执行即可。
#2
ado.net 如何与数据库进行交互
#3
sql="select maxid=isnull(max(id),0)+1 from table_name;"
#4
我想递增,查询出最大值然后加1值就不会重复了。
string sql ="select max(id) from table_name;
并不是你加1就没有重复,在并发时,你可能取的不是最大值。
string sql ="select (max(id)+1) as id from table_name;
string sql ="select max(id) from table_name;
并不是你加1就没有重复,在并发时,你可能取的不是最大值。
string sql ="select (max(id)+1) as id from table_name;
#5
并发时取的不是最大值,切身体会
#6
你在数据设计的时候把那个id设置成自增长每次加一不就得了
#7
并发的情况下这可不是个好主意。
还是使用数据库的自增id吧。Oracle下使用Sequence
还是使用数据库的自增id吧。Oracle下使用Sequence
#8
看你什么数据库??
另外如果id不是主键,可以随便插入,假如又删除了数据的,你的id根本就不会递增,加1也不能获取到最大值
另外如果id不是主键,可以随便插入,假如又删除了数据的,你的id根本就不会递增,加1也不能获取到最大值
#9
select max(id)as maxid from table_name
建议用自增,或者在增加数据的 :
insert into table (id,...)values((select max(id)as maxid from table_name),...)
建议用自增,或者在增加数据的 :
insert into table (id,...)values((select max(id)as maxid from table_name),...)
#10
错了,应该是:insert into table (id,...)values(((select max(id)as maxid from table_name)+1),...)
#11
谢谢大家,问题解决了。
#1
ado.net 的 sqlcommand对象执行executescalar方法执行即可。
#2
ado.net 如何与数据库进行交互
#3
sql="select maxid=isnull(max(id),0)+1 from table_name;"
#4
我想递增,查询出最大值然后加1值就不会重复了。
string sql ="select max(id) from table_name;
并不是你加1就没有重复,在并发时,你可能取的不是最大值。
string sql ="select (max(id)+1) as id from table_name;
string sql ="select max(id) from table_name;
并不是你加1就没有重复,在并发时,你可能取的不是最大值。
string sql ="select (max(id)+1) as id from table_name;
#5
并发时取的不是最大值,切身体会
#6
你在数据设计的时候把那个id设置成自增长每次加一不就得了
#7
并发的情况下这可不是个好主意。
还是使用数据库的自增id吧。Oracle下使用Sequence
还是使用数据库的自增id吧。Oracle下使用Sequence
#8
看你什么数据库??
另外如果id不是主键,可以随便插入,假如又删除了数据的,你的id根本就不会递增,加1也不能获取到最大值
另外如果id不是主键,可以随便插入,假如又删除了数据的,你的id根本就不会递增,加1也不能获取到最大值
#9
select max(id)as maxid from table_name
建议用自增,或者在增加数据的 :
insert into table (id,...)values((select max(id)as maxid from table_name),...)
建议用自增,或者在增加数据的 :
insert into table (id,...)values((select max(id)as maxid from table_name),...)
#10
错了,应该是:insert into table (id,...)values(((select max(id)as maxid from table_name)+1),...)
#11
谢谢大家,问题解决了。