代码之家  ›  专栏  ›  技术社区  ›  Nick Bolton

我们可以在MS Access数据库上创建多列唯一索引吗?

  •  26
  • Nick Bolton  · 技术社区  · 14 年前

    我们希望使用多列唯一索引防止MS Access数据库中的记录重复。由于数据的发送方式(通过网络),有时会收到重复的数据。数据源不发送唯一的ID,因此最简单的选项是防止插入重复的记录。

    根据 Unique Index Design Guidelines :

    使用多列唯一索引, 索引保证每个组合 索引键中的值是唯一的。 例如,如果唯一索引是 以姓氏组合创建, firstname和middlename列,否 表中的两行可以有 这些值的相同组合 柱。

    不过,这是针对SQL 2005的,所以我不确定是否可以使用MS Access。

    我想另一种选择可能是使用查询(伪代码):

    insert into foobar (a, b, c) values ('x', 'y', 'z')
    where (a <> 'x') and (b <> 'y') and (c <> 'z')
    

    …但我觉得指数会更好。

    4 回复  |  直到 7 年前
        1
  •  7
  •   Fionnuala    14 年前

    在MS Access的“设计”视图中打开该表,选择要生成唯一索引的三列,然后单击工具栏上的小键。主键(集合)中不能有空值。

        2
  •  45
  •   Ilmari Karonen hansTheFranz    9 年前

    结果表明,您可以在MS Access数据库上创建多列唯一索引,但如果您想通过GUI执行此操作,这有点疯狂。还有一个限制;每个索引只能使用10列。

    无论如何,下面是如何在MS Access数据库上创建多列唯一索引的方法。

    1. 在设计模式下打开表格,然后选择“索引”。
    2. 创建新行,并在 索引名称中输入值,
    3. 从下拉菜单中选择第一列。
    4. 添加新行,并将索引名称单元格保留为空。
    5. 选择第二列,依此类推。
      1. 它应该是这样的:

        还有一个限制:每个索引只能使用10列。

        无论如何,下面介绍如何在MS Access数据库上创建多列唯一索引。

        1. 以设计模式打开表,然后 设计 选择 索引 .
        2. 创建新行并在 索引名称 细胞,
        3. 从下拉菜单中选择第一列。
        4. 添加新行并 将“索引名称”单元格保留为空 .
        5. 选择第二列,依此类推。

        它应该是这样的:

        multicolumn index in MS access

        3
  •  0
  •   finazrosli    9 年前

    我们可以使多个数据成为唯一的数据,而不必将它们设置为主键。

    ( 注意 :表中只有1个数据可以是主键)

    将数据值设置为唯一数据的步骤(用于 MS Access 2007-2010年 )

    1. 在中打开所选表 设计视图
    2. 单击(突出显示)要设置为唯一的特定列/属性
    3. 在桌子的底部你会看到“ 索引属性 “对于特定列
    4. 找到“ 索引的 列,当前索引文本框中的数据为“否”,单击文本框末尾更改数据,选择 是(无重复)

    真希望这种方法能帮助你们所有人!:)

        4
  •  -1
  •   Md Shahriar    7 年前

    它将作为MS Access 2007/2010中的唯一密钥。

    它将作为MS Access 2007/2010中的唯一密钥。