首頁 >資料庫 >mysql教程 >mysql怎麼設定行值唯一?

mysql怎麼設定行值唯一?

青灯夜游
青灯夜游原創
2020-10-22 09:39:423146瀏覽

mysql可透過為行(欄位)新增唯一性限制來設定行值唯一,語法格式「CREATE TABLE 表名(欄位名稱資料類型UNIQUE);」和「ALTER TABLE 表格名稱ADD CONSTRAINT 唯一約束名UNIQUE(列名);」。

mysql怎麼設定行值唯一?

(推薦教學:mysql影片教學

MySQL資料庫唯一性設定unique index

在資料庫設計中設定主鍵的欄位是不會重複的、唯一的,如果有其他欄位也需要保持唯一性應該如何設定呢?例如一個保存用戶資料的表裡要保證每筆記錄的手機號碼都不同。這時候就需要對該字段設定唯一性。
設定唯一性後的字段,在資料庫層面保證了該字段不會出現相同的值。下面說一下唯一性的設定方法:

mysql命令列操作索引

1、建表時加上

CREATE TABLE `member` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(18) NOT NULL ,
`phone` varchar(18) NOT NULL unique,
PRIMARY KEY (`id`)  
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

2、建表後改

alter table member add unique(phone);

使用Navicat工具添加索引

使用navicat操作mysql資料庫更加方便,推薦大家多多使用這種方式
設計表時:如圖選擇索引,第一項'名',隨便自己起一個有意義的名字就行了。第二項是你要設定唯一性的字段,然後索引類型選擇unique。

選取要修改的表格名稱,右鍵選取設計表

mysql怎麼設定行值唯一?

常見遇到的問題

mysql怎麼設定行值唯一?





mysql怎麼設定行值唯一?## 如果唯一性是後期加的(設計完表之後,且表裡已經有了一些資料)

可能存在表中部分資料不滿足唯一性的情況,例如:想對欄位phone設定唯一性,但目前表中有兩條資料phone都是同一個手機號,這是設定唯一性就會出錯。 ### 如上圖所示(這種情況在命令列操作下也會出現,只不過是以文字的形式)### 這時就應該刪除重複的資料後再設定唯一性。 ######兩個或多個欄位的組合成唯一索引######範例:一個用戶,存了姓名和手機號,### 這裡只允許每個手機號只對應一個名稱,即name和phone的組合不能出現重複的情況,也就是說不能有兩筆記錄他們的name和phone都相同。 ### 如何在mysql中進行設定呢,這裡只給navicat中的方法:如圖只需要選取兩個欄位就可以啦! ############

以上是mysql怎麼設定行值唯一?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn