更新MYSQL中的现有唯一键列

时间:2015-05-21 10:51:35

标签: mysql sql

我有一张表,因为我有唯一的密钥。现在由于某些原因我想更新唯一密钥。 AS现在唯一的关键是有4列现在我想再添加2列

 CREATE TABLE abc (
  id int(10) unsigned NOT NULL AUTO_INCREMENT,
  one varchar(64) NOT NULL,
  search_id varchar(64) NOT NULL,
  session_id varchar(64) NOT NULL,
  pnr varchar(64) NOT NULL,
  origin varchar(5) NOT NULL,
  destination varchar(5) NOT NULL,
  type varchar(15) NOT NULL,
  name1 varchar(55) NOT NULL,
  name2 varchar(55) NOT NULL,
  number varchar(55) DEFAULT '',
  text text,
  cr_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id),
   UNIQUE KEY aedi_id (one,search_id,session_id,origin,destination,pnr,number) //I have this
  UNIQUE KEY aedi_id (one,search_id,session_id,origin,destination,pnr,name1,name2,number) I want this 
) 

1 个答案:

答案 0 :(得分:3)

语法为:

alter table drop key aedi_id;

alter table add key aedi_id (one, search_id, session_id, origin, destination, pnr, name1, name2, number) ;

请注意,唯一键是作为索引实现的,它将用于查询。这意味着列的顺序在键定义中很重要 - 某些排序对您的查询更有效。因此,根据您的查询,您可能需要重新排列列。