请教一个插入数据的语句 select max(id)+1 from tablename where username=@username 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select count(*)+1 into a from table where username=@username select @id= max(id) from tableainsert into tablea select @id,@usename,@access 就是先取最打同一个username的最大id,然后加1再插入,或者先插入再更新。 declare @id int ,@username varchar(20),@access varchar(50)select @id = count(*)+1 from TableA insert into TableAvalues (@id , @username, @access) 不知你是否考虑到:当删除一个记录(非最后一条)后,再插入一个记录时,这时新插入的记录的ID 和原来最后一条记录的ID 是相同的!就失去了ID 也是主键的意义(“id 主键,不是自动编号”)eg:id username access---------------------------------1 ni c:\win\2 ss c:\win\a3 pp d:\ (注意:)当删除 id = 2 后再添加一记录时:id username access---------------------------------1 ni c:\win\3 pp d:\3 qq c:\ 回复人: yangh44(涉世之初) ( ),说的有道理 数据库里怎么把16进制的字符串转成int型的啊 SQL SERVER 2000中char/varchar 怎样设置字段默认值为""(意思为一个空格)? 一个语句的条件怎么写? sql server 2000 链接到 SYBASE时,事务问题 网站数据库设计,新手上路 删除触发器问题,为什么单项删除与批量删除时执行效果不一样? SQL2005连接问题--无法打开登录所请求的数据库,用户sa登录失败! sql高手请进 存储过程中使用动态SQL的问题 一个BCP命令错误的问题:复制方向???? 几个表连接问题,请各位过来指点指点,谢谢 谁能帮我写一个触发器
insert into tablea select @id,@usename,@access
就是先取最打同一个username的最大id,然后加1再插入,或者先插入再更新。
select @id = count(*)+1 from TableA
insert into TableA
values
(@id ,
@username,
@access
)
id username access
---------------------------------
1 ni c:\win\
2 ss c:\win\a
3 pp d:\ (注意:)当删除 id = 2 后再添加一记录时:
id username access
---------------------------------
1 ni c:\win\
3 pp d:\
3 qq c:\