1. 程式人生 > >建立Primary key主鍵和Unique唯一索引

建立Primary key主鍵和Unique唯一索引

在MySQL中,我們進行資料儲存時,為了避免插入重複資料,常常通過給資料表新增主鍵或者索引的方法來解決,在插入過程中,如果遇到重複資料就會提示“uplicate entry 'D550-49' for key 'cv_series'”的錯誤,防止我們插入重複的資料,我們可以結合 on duplicate key 方法來進行解決重複問題,將重複資料進行指定欄位更新。

一、新建表的時候直接新增主鍵和Unique索引:

CREATE TABLE a_tests (
    id int(11) NOT NULL,
    sid int(11) NOT NULL,
    name VARCHAR
(100) DEFAULT NULL, start_year int(4) DEFAULT NULL COMMENT '車型開始年款', end_year INT(4) DEFAULT NULL COMMENT '車型結束年款', PRIMARY KEY (id,sid,name), UNIQUE INDEX sn(sid,name) );

結果:
這裡寫圖片描述

二、表已經存在,給表新增主鍵和Unique索引:
1、新增primary key 主鍵

## 新增primary key 主鍵
ALTER TABLE mt_cv_brand ADD PRIMARY KEY(id);
alter table mt_cv_brand add primary key(id);

2、建立unique唯一索引

## 建立unique唯一索引
ALTER TABLE mt_brand ADD UNIQUE ( `name` );
或者
CREATE UNIQUE INDEX cv_name on mt_cv_brand(name);

## 新增聯合索引
alter table mt_series add index (name,bid);
-- 已有表資料中資料不能重複,否則報錯
ALTER TABLE cv_series ADD UNIQUE INDEX(name,bid,car_type);

3、刪除已有索引:

##  刪除唯一索引
ALTER TABLE cv_brand DROP INDEX name;

ALTER TABLE cv_series DROP INDEX cv_series;
ALTER TABLE cv_series ADD UNIQUE INDEX cv_series(short_name,bid,car_type);