在數據記錄中咱們爲保證數據的惟一性,保證用戶數據在數據中不出現重複記錄。咱們須要用到Mysql的主鍵
key
,惟一約束。
PRIMARY KEY
一張數據表中只能存在一個主鍵字段。而且類型必須爲數字。但是設爲float
類型,但小數點值必須爲0和傳入此字段的重複值。它能夠很好保證咱們記錄的惟一性,主鍵字段自動爲NOT NULL
mysql
如今,咱們來建立一張新的數據表tb3,並設定一個主鍵字段sql
CREATE TABLE tb3( id SMALLINT UNSIGNED PRIMARY KEY, name VARCHAR(20), sex ENUM('1','2','3') DEFAULT '3' );
建立數據表成功,如今咱們來插入兩段用戶數據。網站
INSERT tb3 VALUES(5,'大毛','1'); INSERT tb3 VALUES(10,'小李','1');
輸出記錄spa
SELECT * FROM tb3;
能夠看到咱們剛剛的記錄插入成功了,如今咱們來入id
值5的記錄看看會怎麼樣code
INSERT tb3 VALUES(5,'小明','2');
mysql報錯:主鍵以存在重複的‘5’值,因此剛剛插入記錄失敗了。主鍵保證了咱們數據的惟一性。blog
AUTO_INCREMENT
每一次都要手動爲主鍵賦值很是不方便,並且當咱們數據表中的數據很是多的時候,咱們就很容易插入重複的主鍵值容易引起錯誤。因此咱們這裏就要用到自動編號AUTO_INCREMENT
來爲咱們的主鍵字段進行自動編號賦值了。圖片
下面咱們來建立多一個數據表tb4it
CREATE TABLE tb4( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), sex ENUM('1','2','3') DEFAULT '3' );
數據表建立成功,如今咱們來連續插入三段數據。而後把記錄打印出來看看主鍵值class
INSERT tb4(name,sex) VALUES('小麗','2'); INSERT tb4(name,sex) VALUES('大理','1'); INSERT tb4(name,sex) VALUES('小明同窗','1');
SELECT * FROM tb4;
能夠看到主鍵值已經自動編號1~3了。float
惟一約束性在一個數據表中能夠存在多個字段,可是每一個字段值中的集合不能出現重複值,而且可爲NULL。就好像咱們網站中的用戶名同樣。
如今咱們來建立一張新的數據表ta5
CREATE TABLE ta5( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, usename VARCHAR(20) NOT NULL UNIQUE KEY, ega TINYINT UNSIGNED );
插入兩斷用戶數據
INSERT ta5(usename,ega) VALUES('小明',22); INSERT ta5(usename,ega) VALUES('小明',20);
能夠看到mysql報錯usename字段已經存在小明字段。因此usename已是具備惟一約束性的字段。