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