首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中跨多個欄位強制執行唯一約束?

如何在 MySQL 中跨多個欄位強制執行唯一約束?

Susan Sarandon
發布: 2024-12-16 16:37:10
原創
385 人瀏覽過

How to Enforce Unique Constraints Across Multiple Columns in MySQL?

為多個MySQL 欄位指定唯一限制

在MySQL 資料庫管理的上下文中,表的唯一限制確保沒有兩行包含相同限制的內容一組指定列的值。為了強制執行這樣的約束,我們結合使用 ALTER TABLE 和 ADD UNIQUE 指令。

摘要:

ALTER TABLE <table_name> ADD UNIQUE <index_name>(<column1>, <column2>, ...)
登入後複製

範例:

考慮下表schema:

table votes (
    id,
    user,
    email,
    address,
    primary key(id),
);
登入後複製

為了確保使用者、電子郵件和地址列的組合是唯一的,我們可以執行以下命令:

ALTER TABLE `votes` ADD UNIQUE `unique_index`(`user`, `email`, `address`);
登入後複製

說明:

  • ALTER TABLE語句透過新增唯一的資料表來修改資料表的架構
  • ADD UNIQUE 子句指定指定的資料列(使用者、電子郵件、位址)在所有行中必須具有唯一值。
  • unique_index 是指派給索引的自訂名稱。

透過實現此約束,MySQL 保證不能有多個行具有相同的使用者、電子郵件和位址組合,從而防止重複條目。

以上是如何在 MySQL 中跨多個欄位強制執行唯一約束?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板