Access 2003完整教程:CONSTRAINT 子句

约束索引相似,虽然它还可以用于建立和其他表的关系

可以在 ALTER TABLE 和 CREATE TABLE 语句中通过 CONSTRAINT 子句来创建或删除约束。有两种类型的 CONSTRAINT 子句:一个用于创建单个字段的约束,另外一个用于创建多个字段的约束。

注释Microsoft Jet 数据库引擎不支持将 CONSTRAINT 或任何数据定义语言 (DDL)语句用于非 Microsoft Jet 数据库。可以使用DAOCreate 方法替代。

语法

单字段约束:

CONSTRAINT name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreigntable [(foreignfield1, foreignfield2)]
[ON UPDATE CASCADE | SET NULL]
[ON DELETE CASCADE | SET NULL]}

多字段约束:

CONSTRAINT name
{PRIMARY KEY (primary1[, primary2 [, ...]]) |
UNIQUE (unique1[, unique2 [, ...]]) |
NOT NULL (notnull1[, notnull2 [, ...]]) |
FOREIGN KEY [NO INDEX] (ref1[, ref2 [, ...]]) REFERENCES foreigntable [(foreignfield1 [, foreignfield2 [, ...]])]
[ON UPDATE CASCADE | SET NULL]
[ON DELETE CASCADE | SET NULL]}

CONSTRAINT 子句包含以下部分:

部分说明
name要创建的约束的名称。
primary1, primary2主键指定的字段名。
unique1, unique2指定为唯一键的字段名。
notnull1, notnull2限制为非Null值的字段名。
ref1, ref2引用另一个表中的字段的外键字段的名称。
foreigntable包含了由 foreignfield 所指定的字段的外表的名称。
foreignfield1, foreignfield2由 ref1、ref2 指定 foreigntable 中的字段的名称。如果所引用字段是 foreigntable 的主键,可以忽略这个子句。

说明

在 ALTER TABLE 或 CREATE TABLE 语句的字段定义子句中,在紧随字段数据类型指定之后,可以将该语法用于单字段约束。

任何时候,只要在 ALTER TABLE 或 CREATE TABLE 语句中的字段定义子句以外使用保留字CONSTRAINT,就可以将该语法用于多字段约束。

通过 CONSTRAINT 可以将字段指定为以下约束类型:

若要防止自动创建外键的索引,可以使用 NO INDEX 修饰符。这种外键定义方式只应用在结果索引值会被频繁复制的情况下。在外键索引中的值需要频繁复制的地方,使用索引比仅仅执行表扫描低效。维持这种索引时,随着在表中插入行和删除行的次数增加,性能将会降低,并且没有别的好处。

请参阅
ADD USER 语句 CREATE USER 或 GROUP 语句
ALTER USER 或 DATABASE 语句 CREATE VIEW 语句
ALTER TABLE 语句 DROP 语句
CREATE INDEX 语句 DROP USER 或 GROUP 语句
CREATE PROCEDURE 语句 GRANT 语句
CREATE TABLE 语句 REVOKE 语句

上页:Access 2003完整教程:使用 SQL 函数计算字段 下页:Access 2003完整教程:Count 函数

Access 2003完整教程:CONSTRAINT 子句

Access 2003完整教程:Count 函数Access 2003完整教程:CREATE INDEX 语句
Access 2003完整教程:CREATE PROCEDURE 语句Access 2003完整教程:CREATE TABLE 语句
Access 2003完整教程:CREATE USER 或 GROUP 语句Access 2003完整教程:CREATE VIEW 语句
Access 2003完整教程:DELETE 语句Access 2003完整教程:DROP 语句
Access 2003完整教程:DROP USER 或 GROUP 语句Access 2003完整教程:等价的 ANSI SQL 数据类型
Access 2003完整教程:EXECUTE 语句Access 2003完整教程:SQL 表达式
Access 2003完整教程:First、Last 函数Access 2003完整教程:FROM 子句
Access 2003完整教程:GRANT 语句Access 2003完整教程:GROUP BY 子句
Access 2003完整教程:HAVING 子句Access 2003完整教程:IN 子句
Access 2003完整教程:INNER JOIN 操作Access 2003完整教程:In 运算符
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号