这个问题--很难:多用户同时对一个表添加记录时关键字自动加一?

yw_ly 2002-03-24 04:58:12
用户用浏览器(asp)向数据库sql2000添加记录时,如果实现关键字自动加一,不重复。主要是保证用户能够正常提交自己的数据。这个问题也适用于客户端编程如VB,PB中。
...全文
59 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yw_ly 2002-03-26
  • 打赏
  • 举报
回复
sql = "insert into hub(id,inward) select max(id)+1 as id,'"&inward&"' as inward from hub"
set rs = conn.execute(sql)
主键 = rs("id")
图片文件名字 = rs("inward")

什么意思不理解??????
yw_ly 2002-03-26
  • 打赏
  • 举报
回复
kwq_cn(kwq) 你说最好使用存储过程,具体怎么做呀,我很菜的。
shot_big(hhb) 具体用ASP怎么写呀。
shot_big 2002-03-26
  • 打赏
  • 举报
回复
同楼上的,这样绝对不会重复,我就是用这种办法解决各种唯一的
kwq_cn 2002-03-26
  • 打赏
  • 举报
回复
我想可以这样,设置列自动增一
sql="insert into XXX(...) values(...);select @@IDENTITY as NewId"
NewId就是最新产生的id的值
最好使用存储过程
hubinasm 2002-03-26
  • 打赏
  • 举报
回复
sql = "insert into hub(id,inward) select max(id)+1 as id,'"&inward&"' as inward from hub"
set rs = conn.execute(sql)
主键 = rs("id")
图片文件名字 = rs("inward")
yw_ly 2002-03-26
  • 打赏
  • 举报
回复
现在遇到这样一个问题。我要向数据库增加一记录,其中有一个字段是存放图片文件的名字的,而这个名字我又要使它唯一,得利用主键,如果用上面让数据库自动产生,我在插入记录时无法得到这个主键,所以不能利用这个主键生成文件名,这怎么办呢。
cpplus 2002-03-24
  • 打赏
  • 举报
回复
这个还是由数据库来控制比较简单,SQL SERVER2000自身的事务机制应该会控制的
netcreator 2002-03-24
  • 打赏
  • 举报
回复
用sequeece对象nextval方法和tigger过程和on insert方法来实现,万无一失,因为sequeece 对象的nextval方法不参与事务,每次调用后,其值就永久更改了,不可逆,当然了,遇到问题时可以调用另一个sequeece对象,但不建议你这样干,
yw_ly 2002-03-24
  • 打赏
  • 举报
回复
那用代码怎么控制呢?比如用vb?
bowlder 2002-03-24
  • 打赏
  • 举报
回复
是呀,关键字标识为:是,标识种子为1,标识自动增量为1即可。
流星尔 2002-03-24
  • 打赏
  • 举报
回复
把关键字段设为自增
sunbeamy 2002-03-24
  • 打赏
  • 举报
回复
关键字自动加一,不重复.那么建议可以把主键数据类型设为“自增”
zijun28 2002-03-24
  • 打赏
  • 举报
回复
只能存储过程好一点了~~~
yw_ly 2002-03-24
  • 打赏
  • 举报
回复
最好用存储过程实现。
yw_ly 2002-03-24
  • 打赏
  • 举报
回复
我的Email:yw_ly@263.net(TMD,263要收费了,我希望在它收费前我的问题解决了。)

28,405

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧