1. 程式人生 > >MYSQL_約束條件

MYSQL_約束條件

約束Constraint:

對插入表中欄位的資料起到一定的條件限制。

約束分五種:
主鍵約束:primary key 要求作為主鍵的欄位的欄位值非空且唯一
非空約束: not null 要求:有非空約束的欄位不可以為null值。
唯一性約束:unique 要求有唯一性約束的欄位不可以重複,但是可以為null.
檢查性約束: check(條件)— check(gender in(‘f’,’m’)) 要求在插入資料時必須符合欄位的檢查條件,但是可以為null PS:在mysql中chack無效,一般使用列舉gender enum('f','m'),來代替gender varchar(1) check(gender in('f','m'))
外來鍵約束: foreign key 要求:有外來鍵約束的欄位A必須依賴於另外一個欄位B, 欄位B要有主鍵約束。 欄位A的值,要麼是null, 要麼必須是欄位B裡的值。

例:

empno int *primary key*,
ename varchar(20) *not null*,
idcard varchar(18) *unique*,
gender *enum('f','m')*,
mgr int *foreign key(mgr) references t_05(empno)*

序列:

作為主鍵的欄位,通常不是表中的主要資訊,可以用來當成資訊記錄的序號。序號最好是有序的序列。

auto_increment 關鍵字,用來對有主鍵約束的欄位做自增操作。

用法: create table tname( tid int primary key auto_increment, …… );

last_insert_id() 函式: 作用:獲取序列最後一次插入的值。 用法:select last_insert_id();