淺談MYSQL主鍵約束和唯一約束的區(qū)別
主鍵約束
PRIMARY KRY 主鍵 是唯一的 一張表只能有一個主鍵
AUTO_INCREMENT 一定要和主鍵連用
主鍵一定是非空的 NOT NULL
特點:不能為空,不重復
##沒有約束 Create table stu0( Id int Name varcahr(50) ) Insert into stu0(name)value(“張三豐”); ##方式一:創(chuàng)建表,并且添加主鍵約束 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 唯一約束
唯一約束可以保證數(shù)據(jù)的唯一性
每張數(shù)據(jù)表可以有存在多個唯一約束
唯一約束(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主鍵約束和唯一約束的區(qū)別的文章就介紹到這了,更多相關MYSQL主鍵約束和唯一約束 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決MySQL登錄報錯1045-Access?denied?for?user?'root'@
這篇文章主要給大家介紹了關于解決MySQL登錄報錯1045-Access?denied?for?user?‘root‘@‘‘(using?password:YES)的相關資料,文中一步步將解決的辦法介紹的非常詳細,需要的朋友可以參考下2023-07-07mysql實現(xiàn)本地keyvalue數(shù)據(jù)庫緩存示例
這篇文章主要介紹了代碼實現(xiàn)本地Key-Value緩存示例,大家參考使用吧2013-12-12Mysql8報錯this is incompatible with sql_mo
這篇文章主要介紹了Mysql8報錯this is incompatible with sql_mode=only_full_group_by問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01