unique约束
独特的约束的SQL
唯一约束的唯一识别每个记录在一个数据库表。
的独特性和原发性主要制约因素都提供了保证唯一的一列或一组栏。
主键约束自动具有独特的约束定义它。
请注意,你可以有许多独特的限制,每表,但只有一个主键约束每就座。
独特的SQL制约创建表
下列SQL创建了一个唯一约束的“ P_Id ”一栏时, “人”是创建表:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
为了让命名一个独特的制约因素,并确定了唯一约束上多列,请使用下面的SQL语法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)
数据库独特的制约因素改变表要创建一个唯一约束的“ P_Id ”一栏时,表是已经建立,请使用下面的SQL :
ALTER TABLE Persons
ADD UNIQUE (P_Id)
为了让命名一个独特的制约因素,并确定了唯一约束上多列,请使用下面的SQL语法:
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
drop unique 一个独特的制约因素放弃一个唯一约束,请使用下面的SQL :
ALTER TABLE Persons
DROP INDEX uc_PersonID
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID
如果想设置外键约束,而又不设置主键,则可以用unique。
alter table 表名
add unique (字段名)
alter table 表名
add constraint 约束名
foreign key(字段名) references 主表名(字段名)
on update cascade
您的鼓励,我的动力。