是否可以在同一脚本中创建表并添加索引

时间:2014-06-09 06:51:23

标签: sql ms-access ms-access-2010

使用访问用户界面创建表时,您可以创建一个表,该表具有允许重复的索引字段,但是当您创建SQL脚本以创建表时,使用“唯一”关键字添加索引但是不允许在该字段上重复。 下面是使用索引创建表的脚本。

CREATE TABLE ASSIGNMENT
(
    ASSIGNMENT_ID INTEGER PRIMARY KEY,
    TASK_ID INTEGER UNIQUE, 
    EMPLOYEE_ID INTEGER UNIQUE,
    ASSIGNMENT_START_DATE DATETIME,
    ASSIGNMENT_END_DATE DATETIME,
    SKILL_ID INTEGER UNIQUE
);

这是显示EMPLOYEE_ID Showing what the script does

的结果

以下是我希望EMPLOYEE_ID显示enter image description here

的方法

我试图使用单词Index但脚本不会运行并且出现“语法错误”的问题

1 个答案:

答案 0 :(得分:3)

我非常确定您所描述的内容无法在单个CREATE TABLE语句中完成。 Access SQL的DDL允许我们将PRIMARY KEYUNIQUE Constraints 指定为我们在CREATE TABLE语句中包含的列的属性,但它似乎没有提供相同的便利如果我们只是希望该列索引(允许重复)。

所以,你可能只需要分两步完成:

CREATE TABLE ASSIGNMENT
(
    ASSIGNMENT_ID INTEGER PRIMARY KEY,
    TASK_ID INTEGER UNIQUE, 
    EMPLOYEE_ID INTEGER,
    ASSIGNMENT_START_DATE DATETIME,
    ASSIGNMENT_END_DATE DATETIME,
    SKILL_ID INTEGER UNIQUE
)

......紧接着......

CREATE INDEX idxEMPLOYEE_ID ON ASSIGNMENT (EMPLOYEE_ID)