淺談MYSQL主鍵約束和唯一約束的區別
主鍵約束
PRIMARY KRY 主鍵 是唯一的 一張表隻能有一個主鍵
AUTO_INCREMENT 一定要和主鍵連用
主鍵一定是非空的 NOT NULL
特點:不能為空,不重復
##沒有約束 Create table stu0( Id int Name varcahr(50) ) Insert into stu0(name)value(“張三豐”); ##方式一:創建表,並且添加主鍵約束 Create table stu1( Id int primary key; Name varchar(50) ) ##方式二: Create table stu2( Id int, Name varchar(50), Primary key(name) )
成功: insert intostu1(in,name)value(“2,張三豐”);成功
測試一: insert into stu(id,name)value(null,”張三豐”);#失敗,提示不能為空
測試二:
插入重復值:報錯
Duplicate entry’2′ for key ‘PRIMARY’
Select *from stu1;
唯一約束
UNIQUE KEY 唯一約束
唯一約束可以保證數據的唯一性
每張數據表可以有存在多個唯一約束
唯一約束(unique)
不重復,可以為空
##給名字添加唯一 的約束 Create table stu3( Id int primary key, Name varchar(50) unique ) Insert into stu3(id,name)value(1,”張三豐”); Insert into stu3(id,name)value(2,”張三豐”); ERROR 1062(23000):Duplicate entry ‘張三豐'for key ‘name' Insert into stu3(id,name)value(2,”張三”);
到此這篇關於淺談MYSQL主鍵約束和唯一約束的區別的文章就介紹到這瞭,更多相關MYSQL主鍵約束和唯一約束 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- mysql ON DUPLICATE KEY UPDATE重復插入時更新方式
- 詳解MySQL自增主鍵的實現
- 深入談談MySQL中的自增主鍵
- mysql自增長id用完瞭該怎麼辦
- Python全棧之學習MySQL(1)