请看图:
我建的一个user1表,表中有几个列,第一个是id列,第二个是username列,第三个是password列,我就是想让他如我点username列的时候,第一个ID列自动生成数字1,我点第二个行的时候,和前面方法一样,自动生成ID2,依次这样排下去,谢谢帮我的人。。
我建的一个user1表,表中有几个列,第一个是id列,第二个是username列,第三个是password列,我就是想让他如我点username列的时候,第一个ID列自动生成数字1,我点第二个行的时候,和前面方法一样,自动生成ID2,依次这样排下去,谢谢帮我的人。。
設計
先刪除你的id字段
再插入一個id字段(因爲已經有數据的字段不讓設置成自增長列)
將新插入的id字段改成int型
然後把下面的識別規則裏面的 IS IDENTITY 改成“是”
保存
如果是查询,--1,假设username不存在重复
select id = (select count(1) from tb where username < t.username) + 1 , * from tb--2,假设username存在重复,但password不重复
select id = (select count(1) from tb where username < t.username or (username = t.username and password <t.password) ) + 1 , * from tb--3,如果username + password都重复,在判断blogname ,如果都重复,2000中只能用1楼的方法了.2005中可以用row_number
select id = row_number() over(order by username , password , blogname) , * from tb