SQL之unique约束

参考源

SQL unique 约束

  1. SQL unique 约束用于防止一个表中出现重复记录

  2. uniqueprimary key 约束均为列或列集合提供了唯一性的保证

  3. primary key 约束会自动定义一个 unique 约束,或者说primary key 是一种特殊的 unique 约束

    但二者是有明显区别的:

    每个表可以有多个 unique 约束,但只能有一个 primary key 约束

create table时的 SQL not null 约束

在创建表结构时,可以使用 unique 关键字给表添加 unique 约束

MySQL / SQL Server / Oracle / MS Access

CREATE TABLE lesson (
    id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name varchar(32) default '',
    views int(11) NOT NULL default 0,
    created_at DATETIME,
    UNIQUE(name)
);

如果想要多加多列,可以在括号内添加列,并使用逗号 (,) 分隔

CREATE TABLE lesson (
    id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name varchar(32) default '',
    views int(11) NOT NULL default '0',
    created_at DATETIME,
    UNIQUE(name,id)
);

如果还想给 unique 约束命名,可以使用 constraint 关键字

CREATE TABLE lesson (
    id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name varchar(32) default '',
    views int(11) NOT NULL default '0',
    created_at DATETIME,
    CONSTRAINT uniq_lession_name UNIQUE(name,id)
);

alter table 时的 SQL not null 约束

如果表已经被创建,而又想添加unique 约束,可以使用 alter table add命令

MySQL / SQL Server / Oracle / MS Access

ALTER TABLE lesson ADD UNIQUE (name);

当然了,unique 可以包含多列,添加方法就和建表时添加多列是同样的

ALTER TABLE lesson ADD UNIQUE (id,name);

如果还想给 unique 约束命名,可以使用 constraint 关键字

ALTER TABLE lesson ADD CONSTRAINT uniq_lesson_name UNIQUE (id,name);

删除 unique 约束

如果想要删除 unique 约束,可以使用 alter table drop 命令

MySQL

ALTER TABLE lesson DROP {INDEX | key} uniq_lesson_name;

SQL Server / Oracle / MS Access

ALTER TABLE lesson DROP CONSTRAINT uniq_lesson_name;
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值