首頁 >資料庫 >mysql教程 >如何在 MySQL 中強制跨多個列的唯一性?

如何在 MySQL 中強制跨多個列的唯一性?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-26 12:12:10376瀏覽

How to Enforce Uniqueness Across Multiple Columns in MySQL?

在MySQL 中為多列指定唯一約束

在MySQL 中,您可以在表格上建立唯一約束,以確保沒有兩行具有相同的指定值列集。這對於維護資料完整性和強制不同記錄之間的唯一性非常有用。

考慮下表:

CREATE TABLE votes (
    id INT NOT NULL AUTO_INCREMENT,
    user VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    address VARCHAR(255) NOT NULL,
    PRIMARY KEY (id)
);

建立適用於使用者、電子郵件和地址列的唯一約束,您可以使用以下語法:

ALTER TABLE `votes` ADD UNIQUE `unique_index`(`user`, `email`, `address`);

ALTER TABLE語句用來修改現有表的架構。 ADD UNIQUE 子句建立一個名為 unique_index 的新唯一限制。括號內指定的列是將包含在約束中的列。

執行此語句後,MySQL 資料庫將對指定資料列強制執行唯一約束。這意味著任何嘗試插入具有相同使用者、電子郵件和地址值的新行都會導致 SQL 錯誤,並且該行不會添加到表中。

透過實作唯一約束,您可以透過禁止指定列中的重複值來確保資料的完整性和準確性。

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

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