数据库关键字的设计问题

angelcool 2005-05-22 06:06:23
比如:在设计一个“用户”表时,通常我们都习惯以userID作为关键字。
当添加一个新的用户时,以记录数+1作为它的值。
在没有删除操作时一切OK。
但是当删除一个或多个用户时,就要相应的修改数据库中每条记录的userID,以保证下一次新增用户时主键值不冲突。

我觉得这样做很麻烦,而且对数据库的频繁操作也影响程序的执行效率。
不知道大家是怎样做的?
请教我如何去合理的设计一个表。
谢谢!!
...全文
102 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
angelcool 2005-05-22
  • 打赏
  • 举报
回复
我搜索了一下,好像所谓的Identity 属性就是如我所说的--选“标识”为“是“,其下的标识种子和增量都按默认值为1。

如果有什么补充,请告诉我。谢谢!
angelcool 2005-05-22
  • 打赏
  • 举报
回复
to OneGip(流浪者)
为什么我的SQL Server的类型里没有dentity 这种类型呢??


是不是选“标识”为“是“,其下的标识种子和增量都按默认值为1就OK了??
OneGip 2005-05-22
  • 打赏
  • 举报
回复
再顶
angelcool 2005-05-22
  • 打赏
  • 举报
回复
那怎么设定主键为自增的呢?
我用的是SQL Server
OneGip 2005-05-22
  • 打赏
  • 举报
回复
就用Identity 自动增长属性,足够一般使用,况且你是个用户表,用一辈子也不会达到它的十分之一的大小.
angelcool 2005-05-22
  • 打赏
  • 举报
回复
让它自增总有一个限吧。你不可能把一个字段定义为无限长呀??
短期是可以实现,但以后呢??
这样不太好吧!!
zjcxc 元老 2005-05-22
  • 打赏
  • 举报
回复
修改的话,连相关联表的数据也得一齐修改,那是一件麻烦事. 而且userid是数据处理需要的,不是给用户看的,是否连续并不重要.
zjcxc 元老 2005-05-22
  • 打赏
  • 举报
回复
为什么要修改? 让它空着不好吗?
lxysjl 2005-05-22
  • 打赏
  • 举报
回复
是啊,没有必要要连续的啊。直接自增列就可以呢
fanruinet 2005-05-22
  • 打赏
  • 举报
回复
不要修改每条记录的userID,保证不冲突的话用一个自增列就可以,删除用户就把那个ID空着好了,为什么一定要连续呢?

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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