关于VFP中的表的唯一索引问题(弱智)

Eritho 2005-05-19 04:59:08
在自由表A里,字段X在建表时已经同时建立了唯一索引,但为什么往表A里插入数据时,字段X可以重复呢?(弱弱的问一下)
我该怎样才能使在插入数据时不能插入重复的记录!
...全文
875 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kangyuanbing 2005-05-28
  • 打赏
  • 举报
回复
在VFP中,唯一索引是为了兼容以前的foxbase而保留的一个功能。实际上,在VFP中,基本上不用了。或者说你根本用不着,除非你去参加考试~:)

唯一索引,其含意是,只是对索引项进行唯一,而不是对字段进行唯一,即在建立唯一索引的那个字段中,其值是允许重复的。。。


哈哈,明白了吗?
十豆三 2005-05-25
  • 打赏
  • 举报
回复
DELETE ALL FOR ALLTRIM(字段名)==''
DELETE ALL FOR EMPTY(字段名)
DELETE ALL FOR ISNULL(字段名)
cdbqss1 2005-05-23
  • 打赏
  • 举报
回复
建立候选索引。
Eritho 2005-05-23
  • 打赏
  • 举报
回复
续问:
表的一个字段既要允许为NULL但又不能重复,该怎样做索引呢?还有删空字段,用delete for x=''命令不行哟!(VFP6
LAIYANGPJ 2005-05-23
  • 打赏
  • 举报
回复
怎么我的字段建立主索引与唯一索引都可以不能输入重复值?
SET EXACT ON
DELETER FOR ALLTRIM(X)==‘’
westbulls 2005-05-23
  • 打赏
  • 举报
回复
字段既要允许为NULL但又不能重复,我觉得不是索引可以解决的,你只能够用触发器或者写程序去解决了
Eritho 2005-05-20
  • 打赏
  • 举报
回复
还有请问用delete for怎样删除某一字段为空的记录?
Eritho 2005-05-20
  • 打赏
  • 举报
回复
那表的一个字段既要允许为NULL但又不能重复,那该怎样做呢?
自由表好象不能建立主索引!
cdbqss1 2005-05-19
  • 打赏
  • 举报
回复
主索引可确保字段中输入值的唯一性并决定了处理记录的顺序。可以为数据库中的每一个表建立一个主索引。如果某个表已经有了一个主索引,可以继续添加候选索引。
候选索引象主索引一样要求字段值的唯一性并决定了处理记录的顺序。在数据库表和自由表中均可为每个表建立多个候选索引。
普通索引也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。
为了保持同早期版本的兼容性,还可以建立一个唯一索引,以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。

UNIQUE 对于一个索引关键字值,只有第一个满足该值的记录包含在 .IDX 文件或 .CDX 标识中。利用 UNIQUE 子句可以避免显示或访问记录的重复值。所有添加到表中的记录,如果与表中原有记录有重复的索引关键字值,则不包含在索引文件之内。使用 index 命令的 UNIQUE 选项,与在执行 INDEX 或 REindex 命令之前执行 SET UNIQUE ON 命令完全等效。
cdbqss1 2005-05-19
  • 打赏
  • 举报
回复
唯一索引,只是相当于在用index命令建立索引时,加了一个uniq关键字,其目的是过滤相同的记录,所以插入记录时,字段X的值是可以重复的.
不信,你用set order to x 后,查看记录试试.其中x是索引名.

如果想在自由表中插入数据时不能插入重复的记录,建议把字段X设置为"候选索引".
westbulls 2005-05-19
  • 打赏
  • 举报
回复
1.如果索引坏了,那就可能了
2.如果索引没坏,那就是你的索引不是唯一的,自由表的唯一索引是------
Candidate
"Does not permit duplicate values in the specified fields or expression."

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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