现在的数据库中的表若没有主键字段便常出怪毛病,若加一个主键,内容放上什么好呢?怎样自动设值?

BCB 2001-12-06 09:09:44
...全文
115 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
BCB 2001-12-07
  • 打赏
  • 举报
回复
谢谢!
sally0156 2001-12-06
  • 打赏
  • 举报
回复
你可以在数据库的服务器里设计数据表的触发器
每插入一条记录,就自动将加1的序列号加到某个字段
当然,序列号也要自行在数据库里设定
这与用不用ADO都没有关系
txinfo 2001-12-06
  • 打赏
  • 举报
回复
用guid吧,全球唯一标识符,绝对唯一,不过它有32位,用它来做主 key会产生宽索引的问题,
你可以可取总有变化的最前面8位
uses comobj,activex;

function GetGUID:String; //得到GUID号
begin
Result:=Copy(CreateClassID,2,8);
end;
BCB 2001-12-06
  • 打赏
  • 举报
回复
记录号不行,许多数据库的记录号是 -1
自增也不行,在ADO下,新添记录的自增字段值总是0,下次打开时才有非0值,这也不行





7680 2001-12-06
  • 打赏
  • 举报
回复
1.2.3,自增
抱朴守拙 2001-12-06
  • 打赏
  • 举报
回复
整型的,自增的。
taber 2001-12-06
  • 打赏
  • 举报
回复

可以使用记录号作主键,注意不要有意识的缩进或填补
taxi 2001-12-06
  • 打赏
  • 举报
回复
整型的,自增的。
BCB 2001-12-06
  • 打赏
  • 举报
回复
有没有更好的办法?
Mercedes 2001-12-06
  • 打赏
  • 举报
回复
用增加记录时的时间作主键不就行了?
BCB 2001-12-06
  • 打赏
  • 举报
回复
怎样用呀?
怎样保证每新添一记录的主键值不重复?
txinfo 2001-12-06
  • 打赏
  • 举报
回复
identity
或者用guid
BCB 2001-12-06
  • 打赏
  • 举报
回复
这么难呀?!怎样凭空设个主键?
主键的值是不能重复的,我想不让用户自已输入,由于程序自动设个
不重复的值.

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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