建立Primary key主鍵和Unique唯一索引
阿新 • • 發佈:2019-01-26
在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);