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

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

Susan Sarandon
Susan Sarandon原創
2024-12-16 16:37:10386瀏覽

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中文網其他相關文章!

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