mysql 中的 unique 約束確保特定列或列組的值在表中唯一。具體用法如下:使用 alter table 語句添加 unique 約束:alter table table_name add unique (column_name);在創(chuàng)建表時指定 unique 約束:create table table_name (column_name unique);
如何使用 MySQL 中的 UNIQUE 約束
UNIQUE 約束是一種數(shù)據(jù)庫約束,用于確保表中每一行的特定列或一組列的值都是唯一的。
用法
在 MySQL 中,使用以下語法創(chuàng)建 UNIQUE 約束:
<code class="sql">ALTER TABLE table_name ADD UNIQUE (column_name);</code>
登錄后復制
或者,您可以在創(chuàng)建表時指定 UNIQUE 約束:
<code class="sql">CREATE TABLE table_name ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) UNIQUE, PRIMARY KEY (id) );</code>
登錄后復制
工作原理
UNIQUE 約束強制每個行的指定列或列組的值在表中必須是唯一的。如果嘗試插入具有重復值的記錄,MySQL 將返回錯誤并阻止該操作。
優(yōu)點
使用 UNIQUE 約束的優(yōu)點包括:
保證數(shù)據(jù)的完整性和準確性。
提高查詢性能,因為可以快速唯一標識每一行。
對于依賴唯一值(例如主鍵)的應(yīng)用程序,提供了一個可靠的基礎(chǔ)。
與 PRIMARY KEY 的區(qū)別
PRIMARY KEY 約束與 UNIQUE 約束類似,但具有以下主要區(qū)別:
PRIMARY KEY 約束不僅要求列值唯一,而且還要求該列不為 NULL。
PRIMARY KEY 約束只能在一個表中定義一次,而 UNIQUE 約束可以定義多次。
示例
以下示例創(chuàng)建了一個名為 “users” 的表,其中包含一個名為 “email” 的 UNIQUE 約束:
<code class="sql">CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255) UNIQUE, PRIMARY KEY (id) );</code>
登錄后復制
在這個示例中,”email” 列被設(shè)置為 UNIQUE,這意味著沒有兩行可以具有相同的電子郵件地址值。