gpt4 book ai didi

mysql - 将唯一记录插入 MS Access 2007

转载 作者:可可西里 更新时间:2023-11-01 08:35:17 26 4
gpt4 key购买 nike

所以我一直在四处寻找,并没有找到太多。我提前道歉,因为这可能是错误的做法,但事实就是如此。

所以我必须跟踪同事完成的类(class)。这是通过为 MS Access 数据库提供数据的 Excel 工作表完成的。有 3 个字段提供给我。

全名、类(class)名称和完成日期。

我知道我在这里没有主键,所以我正在尝试创建一个查询,该查询只会附加从 Excel 工作表中提取的唯一记录。我可以基于单个字段执行此操作,但需要帮助才能使我的查询仅在全名和类(class)名称不相同时附加它,例如

Joe Somebody,类(class)#1,14feb13

Joe Somebody,类(class)#2,15feb13

Joe Somebody,类(class)#1,15feb13

我需要一个查询,将前两行附加到表中,但忽略第三行,因为该人已经完成了类(class)#1。到目前为止,这基本上是将我的姓名字段变成主键。

INSERT INTO table [Full name], [Course], [Date]

SELECT excel_table.[Full name], excel_table.[Course], excel_table.[Date]

FROM excel_table

WHERE excel_table.[Full name] Not in (SELECT table.[Full Name] FROM table)

最后我也有一些 Is Not Null 的东西,但我认为这与问题无关。

最佳答案

为了避免重复,最简单的方法是添加索引。在这种情况下,复合主键似乎就是答案。只需选择您想要包含在复合键中的所有字段,然后单击“主键”按钮:

add composite primary key

组成主键的任何字段都不允许为空,但只要字段组合不匹配,每个字段中的数据都可以重复。所以:

Joe Somebody, Course#1, 14feb13     <-- good
Joe Somebody, Course#2, 15feb13 <-- good
Joe Somebody, Course#1, 15feb13 <-- fails
Joe SomebodyElse, Course#1, 14feb13 <-- good

现在,如果您使用查询设计窗口运行普通追加查询构建,如果记录在 Excel 导入表中存在两次或已存在于 Access 中,您将收到错误消息:

error on append

关于mysql - 将唯一记录插入 MS Access 2007,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14955008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com