學習筆記:
一.約束(constraint )的分類
非空約束
唯一性約束
主鍵約束
外來鍵約束
二.非空約束(not null)
該屬性賦值不能為空eg:
create table t_users(
id int(4),
name varchar(32) not null,
email varchar(128)
);
三.唯一性約束(unique)
該屬性賦值具有唯一性eg1(列級約束):
create table t_users(
id int(4),
name varchar(32) not null,
email varchar(128) unique
);
eg2(表級約束):
create table t_users(
id int(4),
name varchar(32) not null,
email varchar(128) ,
unique(email)
);
eg3(表級約束&&聯合約束):
create table t_users(
id int(4),
name varchar(32) not null,
email varchar(128) ,
unique(name,email)
);
此時兩欄位同時相同時才報錯,只有name相同,或只有email相同依舊可以賦值
另一種起別名寫法 (方便刪除約束)
create table t_users(
id int(4),
name varchar(32) not null,
email varchar(128) ,
constraint t_users_name_email_unique unique(name,email)
);
四.非空約束與唯一性約束的聯合使用
eg:
create table t_users(
id int(4),
name varchar(32) not null unique
);
名字既不能為空也不能重複
常用在遊戲起名或身份證中
MySQL學習 主鍵約束 非空約束 唯一約束
約束的概念 對錶中的資料進行限定,保證資料的正確性 有效性和完整性 1 主鍵約束 primary key 1.1注意 1 含義 非空且唯一 2 一張表只能有乙個字段為主鍵 3 主鍵就是表中記錄的唯一標識 1.2 在建立表時新增主鍵約束 create table stu id int primary ...
學習筆記 MySQL 表的約束(主鍵約束)
學習筆記 一.主鍵約束 primary key 主鍵約束的字段值不能相同不能為空,效果同 not null unique 相同 但是主鍵約束後的字段有索引值 如下圖 二.兩種寫法 1.列級約束 create table t user id int 4 primary key,name varchar...
mysql非空約束兩個 MySQL中的或非空約束
sklivz 使用mysql5.0.51a進行測試時,我發現它解析了乙個檢查約束,但沒有強制執行它。我可以插入 空,空 而不出錯。測試了myisam和innodb。隨後使用show create table顯示檢查約束不在表定義中,即使在定義表時沒有給出任何錯誤。這與mysql manual 它說 ...