zoukankan      html  css  js  c++  java
  • SQL UNIQUE 约束:使用方法及撤销办法剖析

    SQL UNIQUE 约束


    SQL UNIQUE 约束

    UNIQUE 约束唯一标识数据库表中的每条记录。

    UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

    PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。

    请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。


    CREATE TABLE 时的 SQL UNIQUE 约束

    下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 UNIQUE 约束:

    MySQL:

    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)
    )

    如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 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)
    )

    ALTER TABLE 时的 SQL UNIQUE 约束

    当表已被创建时,如需在 "P_Id" 列创建 UNIQUE 约束,请使用下面的 SQL:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    ADD UNIQUE (P_Id)

    如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

    撤销 UNIQUE 约束

    如需撤销 UNIQUE 约束,请使用下面的 SQL:

    MySQL:

    ALTER TABLE Persons
    DROP INDEX uc_PersonID

    SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    DROP CONSTRAINT uc_PersonID
  • 相关阅读:
    Ruby的Integer数据类型
    InfoPath设计优化
    深入浅出SharePoint——TimeJob编程
    深入浅出SharePoint——操作Item权限类
    深入浅出Powershell——添加用户或群组到群组中
    深入浅出PowerShell——更新List Item中的PeopleandGroup 域值
    使用TimeJob
    深入浅出InfoPath——动态获取InfoPath中的命名空间
    ContentType大展拳脚——定义List
    PowerShell深入浅出——增加账号到管理员群组
  • 原文地址:https://www.cnblogs.com/peijz/p/12460440.html
Copyright © 2011-2022 走看看