对现有表创建新索引。
注意: 对于非 Microsoft Access 数据库,Microsoft Access 数据库引擎不支持使用 CREATE INDEX(对 ODBC 被链接表创建伪索引除外)或任意数据定义语言语句。 请改为使用 DAO Create 方法。 有关详细信息,请参阅备注部分。
语法
CREATE [ UNIQUE ] INDEX index
ON table (field [ASC|DESC][, field [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]
CREATE INDEX 语句包含以下部分:
部分 |
说明 |
index |
要创建的索引的名称。 |
table |
将包含索引的现有表的名称。 |
field |
要建立索引的字段的名称。 要创建单字段索引,请在表名称后的括号中列出字段名称。 要创建多字段索引,请列出要包含在索引中的每个字段的名称。 要创建降序索引,请使用 DESC 保留字;否则假定索引为升序。 |
备注
若要禁止不同记录的索引字段中出现重复值,请使用 UNIQUE 保留字。
在可选的 WITH 子句中,可以强制执行数据验证规则。 可以:
-
通过使用 DISALLOW NULL 选项禁止新纪录的索引字段中使用 Null 项。
-
通过使用 IGNORE NULL 选项防止索引字段值为 Null 的记录包含在索引中。
-
通过使用 PRIMARY 保留字将索引的字段指定为主键。 这意味着该键是唯一的,因此可省略 UNIQUE 保留字。
可以使用 CREATE INDEX 对 ODBC 数据源中的被链接表(如尚不具有索引的 Microsoft® SQL Server™)创建伪索引。 不需要针对远程服务器的权限或访问权限即可创建伪索引,远程数据库不会觉察到伪索引且不受其影响。 对链接表和本地表使用相同的语法。 对通常为只读状态的表创建伪索引非常有用。
也可使用 ALTER TABLE 语句将单字段或多字段索引添加到表,可以使用 ALTER TABLE 语句或 DROP 语句删除使用 ALTER TABLE 或 CREATE INDEX 创建的索引。
注意: 对已有主键的表创建新索引时,请勿使用 PRIMARY 保留字;这样做会出现错误。