mySQL中删除unique key的语法 ,假设有表:
CREATE TABLE `good_booked` (
`auto_id` int(10) NOT NULL auto_increment,
`good_id` int(11) default NULL,
`chemist_id` int(11) default NULL,
PRIMARY KEY (`auto_id`),
UNIQUE KEY `good_id` (`good_id`,`chemist_id`),
KEY `current_state` (`current_state`),
KEY `send_time` (`send_time`)
)
想删除某个表中某个字段的unique key:
ALTER TABLE good_booked DROP INDEX good_id;
再如:
修改联合主键的SQL(其中key这个括号里面是新的联合逐渐的字段名称。逗号前面可以删除所有的联合逐渐):
alter table xx drop primary key,add primary key(,,);
例如:alter table stock_purchase_result drop PRIMARY key,add PRIMARY key(account_id,vote_date,stock_id);
MySQL修改索引名称。(5.7):
ALTERTABLEtbl_name RENAMEINDEXold_index_nameTOnew_index_name;
对于MySQL 5.7以前的版本,可以执行下面两个命令:
-- 查看最大连接数是多少
SHOW VARIABLES LIKE '%max_connections%';
-- 临时改变最大连接数量
SET GLOBAL max_connections = 500;
-- 查看是否有ssl的配置,如果为YES,则表示已经启动起来了
SHOW VARIABLES LIKE 'have_ssl'
删除索引
可利用ALTER TABLE或DROP INDEX语句来删除索引。类似于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,语法如下。
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
其中,前两条语句是等价的,删除掉table_name中的索引index_name。
第3条语句只在删除PRIMARY KEY索引时使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。
如果从表中删除了某列,则索引会受到影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。
添加索引:
create index idx_rise_num on table_name(rise_num);
create unique index idx_uid_fansid on stock_fans(uid,fans_uid);
如果数据库锁死了,使用以下命令进行检查:
SHOW FULL PROCESSLIST
KILL 715269