赞
踩
目录
insert into t_vip(id,name,email) values(4,'wangwu','wangwu@sina.com');
insert into t_vip(id) values(4);
insert into t_vip(id) values(5);
1. 新需求:name和email两个字段联合起来具有唯一性!!!!
唯一性约束unique约束的字段不能重复,但是可以有多个NULL
drop table if exists t_vip;
create table t_vip(
id int,
name varchar(255) unique,
email varchar(255)
);
insert into t_vip(id,name,email) values(1,'zhangsan','zhangsan@123.com');
insert into t_vip(id,name,email) values(2,'lisi','lisi@123.com');
insert into t_vip(id,name,email) values(3,'wangwu','wangwu@123.com');
Duplicate:重复
约束的字段不能重复
name字段虽然被unique约束了,但是可以有多个NULL。
drop table if exists t_vip;
create table t_vip(
d int,
name varchar(255) unique,
email varchar(255) unique
);
约束直接添加到列后面的,叫做列级约束。
这张表这样创建是不符合我以上“新需求”的。这样创建表示:name具有唯一性,email具有唯一性。各自唯一。
drop table if exists t_vip;
create table t_vip(
id int,
name varchar(255),
email varchar(255),
unique(name,email)
);
约束没有添加在列的后面,这种约束被称为表级约束。
insert into t_vip(id,name,email) values(1,'zhangsan','zhangsan@123.com');
insert into t_vip(id,name,email) values(2,'zhangsan','zhangsan@sina.com');
name和email两个字段联合起来唯一!!!
insert into t_vip(id,name,email) values(3,'zhangsan','zhangsan@sina.com');
需要给多个字段联合起来添加某一个约束的时候,需要使用表级约束。
drop table if exists t_vip;
create table t_vip(
id int,
name varchar(255) not null unique
);
desc t_vip;
在mysql当中,如果一个字段同时被not null和unique约束的话,该字段自动变成主键字段。(注意:oracle中不一样!)
insert into t_vip(id,name) values(1,'zhangsan');
insert into t_vip(id,name) values(2,'zhangsan');
错误了:name不能重复
insert into t_vip(id) values(2);
错误了:name不能为NULL。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。