鍍金池/ 問答/數(shù)據(jù)庫/ 現(xiàn)在項目需要把原有的數(shù)據(jù)表中新增一個主鍵,并把原有的聯(lián)合主鍵改為索引,這個要怎么

現(xiàn)在項目需要把原有的數(shù)據(jù)表中新增一個主鍵,并把原有的聯(lián)合主鍵改為索引,這個要怎么優(yōu)化呢?

CREATE TABLE app_rng (
CMN_CD varchar(20) NOT NULL,
TB_NM varchar(255) NOT NULL,
COLM_NM varchar(255) NOT NULL,
CRT_USER_ID varchar(40) NOT NULL,
CRT_TIME datetime NOT NULL COMMENT,
CRT_APP_SYS_ID varchar(40) NOT NULL,
MODF_USER_ID varchar(40) DEFAULT NULL,
MODF_TIME datetime DEFAULT NULL,
MODF_APP_SYS_ID varchar(40) DEFAULT NULL,
PRIMARY KEY (CMN_CD,TB_NM,COLM_NM)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如上,我想把聯(lián)合主鍵(CMN_CD,TB_NM,COLM_NM)改為索引并且新增一個字段作為主鍵,用sql腳本應(yīng)該怎么實現(xiàn)呢?

回答
編輯回答
糖豆豆

ALTER TABLE xxx
ADD COLUMN id int NOT NULL FIRST,
DROP PRIMARY KEY,
ADD PRIMARY KEY (id),
ADD INDEX idx (a ASC, b ASC);

2018年5月30日 15:53