站長資訊網
        最全最豐富的資訊網站

        mysql如何增加唯一索引

        三種增加方法:1、使用“CREATE INDEX”語句增加,語法“CREATE UNIQUE INDEX 索引名 ON 表名(列名列表);”;2、建表時增加,語法“CREATE TABLE 表名(… UNIQUE KEY(列名列表) );”;3、修改表時增加,語法“ALTER TABLE 表名 ADD CONSTRAINT 索引名 UNIQUE KEY(列名列表);”。

        mysql如何增加唯一索引

        本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。

        mysql唯一索引(UNIQUE)

        要強制執行一列或多列的唯一性值,通常使用PRIMARY KEY約束。但是,每個表只能有一個主鍵。因此,如果要包含多個列或一組具有唯一值的列,則不能使用主鍵約束。

        幸運的是,MySQL提供了另一種指標叫做UNIQUE索引,使您可以強制執行值的唯一的一列或多列。與PRIMARY KEY 索引不同,UNIQUE每個表可以有多個索引。

        要創建UNIQUE索引,請使用以下CREATE INDEX語句:

        CREATE UNIQUE INDEX 索引名 ON 表名(列名1,列名2,...);

        在一列或多列中強制執行值唯一性的另一種方法是使用UNIQUE約束。

        創建UNIQUE約束時,MySQL會UNIQUE在幕后創建索引。

        以下語句說明了在創建表時如何創建唯一約束。

        CREATE TABLE 表名( ...    UNIQUE KEY(列名1,列名2,...)  );

        也可以使用ALTER TABLE語句給現有表添加唯一索引(UNIQUE)

        ALTER TABLE 表名 ADD CONSTRAINT 索引名 UNIQUE KEY(列名1,列名2,...);

        MySQL UNIQUE索引示例

        假設您要管理應用程序中的聯系人。您還希望contacts表中每個聯系人的電子郵件必須是唯一的。

        要強制執行此規則,請在CREATE TABLE語句中創建唯一約束,如下所示:

        CREATE TABLE IF NOT EXISTS contacts (     id INT AUTO_INCREMENT PRIMARY KEY,     first_name VARCHAR(50) NOT NULL,     last_name VARCHAR(50) NOT NULL,     phone VARCHAR(15) NOT NULL,     email VARCHAR(100) NOT NULL,     UNIQUE KEY unique_email (email) );

        mysql如何增加唯一索引

        如果使用SHOW INDEXES語句,您將看到MySQL UNIQUE為email列創建了索引。

        SHOW INDEXES FROM contacts;

        mysql如何增加唯一索引

        讓我們在contacts表格中插入一行。

        INSERT INTO contacts(first_name,last_name,phone,email) VALUES('John','Doe','(408)-999-9765','john.doe@mysqltutorial.org');

        mysql如何增加唯一索引

        現在,如果您嘗試插入其電子郵件所在的行john.doe@mysqltutorial.org,您將收到錯誤消息。

        INSERT INTO contacts(first_name,last_name,phone,email) VALUES('Johny','Doe','(408)-999-4321','john.doe@mysqltutorial.org');
        ERROR 1062 (23000): Duplicate entry 'john.doe@mysqltutorial.org' for key 'unique_email'

        mysql如何增加唯一索引

        假設你想要的組合first_name,last_name和 phone也接觸中是唯一的。在這種情況下,您可以使用CREATE INDEX語句UNIQUE為這些列創建索引,如下所示:

        CREATE UNIQUE INDEX idx_name_phone ON contacts(first_name,last_name,phone);

        添加下面一行到contacts因為組合表會導致錯誤first_name,last_name以及phone已經存在。

        INSERT INTO contacts(first_name,last_name,phone,email) VALUES('john','doe','(408)-999-9765','john.d@mysqltutorial.org');
        ERROR 1062 (23000): Duplicate entry 'john-doe-(408)-999-9765' for key 'idx_name_phone'

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 无码国内精品久久人妻| 91精品成人免费国产| 国产精品免费高清在线观看| 精品国产免费一区二区三区| 国产精品久久久久无码av| 亚洲精品无码久久久影院相关影片| 成人国产精品日本在线观看| 国产精品成人观看视频国产| 麻豆国产在线精品国偷产拍| 无码精品人妻一区二区三区影院| 国产成人高清精品免费观看| 国产精品一二区| 精品无码人妻一区二区免费蜜桃 | 精品调教CHINESEGAY| 亚洲精品无码专区在线播放 | 无码精品国产一区二区三区免费| 欧美在线精品永久免费播放| 精品国产污污免费网站入口在线| 9999国产精品欧美久久久久久 | 97精品在线播放| 精品国产美女福利到在线不卡| 精品黑人一区二区三区| 久久精品国产网红主播| 麻豆aⅴ精品无码一区二区 | 精品国产综合区久久久久久 | 国产精品国产三级国产普通话 | 亚洲精品理论电影在线观看| 成人精品在线视频| www.久久精品| 国产精品久久一区二区三区| 99麻豆久久久国产精品免费| 99精品视频在线| 久久国产精品99久久久久久老狼| 国产精品免费网站| 奇米精品一区二区三区在线观看 | 国产国产成人精品久久| 国产成人精品免费视频动漫| 久久精品国产亚洲欧美| 一级香蕉精品视频在线播放| 国产91精品黄网在线观看| 国产亚洲精品看片在线观看|