有没有办法让一个表定义将其非复制基于两个字段?
由此我有3列 gid,cid,价格
标准:
cid
gid
cid
并且标准1未被违反,就可以有多个gid
如果可能的话,我基本上希望在表格设计中有限制。我不确定它是否可能只是想问一下。
好一点澄清,我有两个索引,一个在gid
,另一个在cid
上,我可以让两个索引确定唯一性吗?该表基本上是一个Join表,因为绘制的两个表具有1-Many关系,因为它们的对应物对于其id是唯一的。
表/索引声明:
用法:
答案 0 :(得分:2)
在MS Access中创建多字段索引没有任何困难。您只需单击索引按钮(闪电)并选择所需内容即可。
答案 1 :(得分:1)
你的第一个要点是......
但后来你说......
所以我不确定你想要什么。如果此数据集代表可接受的样本值......
gid cid
1 1
2 1
2 2
...我使用以下程序创建了该表。主键是gid
和cid
上的综合索引。这禁止那些字段的Null值,并确保只有唯一的值对可以存储在表中。
一个gid
值可以与多个不同的cid
值配对。并且一个cid
可以与多个不同的gid
值配对。
如果这不是你想要的,请澄清你想要的东西。如果您只需要cid
的附加索引,则可以添加一个......它不会干扰主键索引。
这是我使用的程序。
Public Sub CreateTable_GoldBishop()
Const cstrTable As String = "tblGoldBishop"
Dim cn As Object
Dim strSql As String
Set cn = CurrentProject.Connection
strSql = "CREATE TABLE " & cstrTable & "(" & vbCrLf & _
"gid INTEGER," & vbCrLf & _
"cid INTEGER," & vbCrLf & _
"price SINGLE," & vbCrLf & _
"CONSTRAINT pkey PRIMARY KEY" & _
"(gid, cid)" & vbCrLf & _
");"
Debug.Print strSql
cn.Execute strSql
Set cn = Nothing
End Sub
顺便说一句,我不是想告诉你使用DDL创建表,但如果这是你想要的表设计,你可以运行该过程,然后在设计视图中检查表。