mysql的约束:
对于约束的建立,可以再表建立时就进行定义,也可以在之后使用alter table命令那个来进行创建,对于unique key唯一主键的约束,还可以通过create unique index来进行建立,
下面简单的创建表的语句:
create table u (id int , name varchar(20), id_card char(18), primary key (id), unique key (name));
在information_schema.TABLE_CONSTRAINTS里查找约束
select constraint_name,constraint_type from information_schema.TABLE_CONSTRAINTS where table_schema='test' and table_name='u';
-----索引和约束的区别
当你创建一个唯一索引,就建立了一个唯一的约束,但是约束和索引的概念还是有所不同的,约束更是一个逻辑的概念,用来保证数据的完整性,而索引时一个数据结构,有逻辑上的概念,在数据库中更是一个物理存储的方式
-----对于错误数据的约束 默认的情况下,mysql数据库允许非法或者不正确数据的插入或更新,或者内部将其转化为一个合法的值,例如:对于not null 的地段插入一个null值,会将其更改为0在进行插入。可以通过 sql_mode这个变量来控制