c#怎么获取sql查询语句的最大值呀?

时间:2022-07-19 15:31:28
id,数字类型
我想递增,查询出最大值然后加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;

#5


并发时取的不是最大值,切身体会

#6


你在数据设计的时候把那个id设置成自增长每次加一不就得了

#7


并发的情况下这可不是个好主意。
还是使用数据库的自增id吧。Oracle下使用Sequence

#8


看你什么数据库??
另外如果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),...)

#10


错了,应该是:insert into table (id,...)values(((select max(id)as maxid from table_name)+1),...) 

#11


谢谢大家,问题解决了。 c#怎么获取sql查询语句的最大值呀?

#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;

#5


并发时取的不是最大值,切身体会

#6


你在数据设计的时候把那个id设置成自增长每次加一不就得了

#7


并发的情况下这可不是个好主意。
还是使用数据库的自增id吧。Oracle下使用Sequence

#8


看你什么数据库??
另外如果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),...)

#10


错了,应该是:insert into table (id,...)values(((select max(id)as maxid from table_name)+1),...) 

#11


谢谢大家,问题解决了。 c#怎么获取sql查询语句的最大值呀?