CREATE UNIQUE INDEX 终止,因为发现了索引 ID 2 的重复键。最重要的主键为 'type 6c, len 9'。
这个原因是你你创建索引的列 表中存在重复值,
删除索引可以使用ALTER TABLE或DROP 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。
扩展资料:索引的使用及注意事项
EXPLAIN可以帮助开发人员分析SQL问题,explain显示了mysql如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。
使用方法,在select语句前加上Explain就可以了:Explain select * from user where id=1
尽量避免这些不走索引的sql:
SELECT `sname` FROM `stu` WHERE `age`+10=30-- 不会使用索引,因为所有索引列参与了计算
SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990-- 不会使用索引,因为使用了函数运算,原理与上面相同
SELECT * FROM `houdunwang` WHERE `uname` LIKE'后盾%' 走索引
SELECT * FROM `houdunwang` WHERE `uname` LIKE "%后盾%" 不走索引
正则表达式不使用索引,这应该很好理解,所以为什么在SQL中很难看到regexp关键字的原因。
字符串与数字比较不使用索引
CREATE TABLE `a` (`a` char(10))
EXPLAIN SELECT * FROM `a` WHERE `a`="1" 走索引
EXPLAIN SELECT * FROM `a` WHERE `a`=1 不走索引
请采用下列脚本
/*删除索引*/
declare @table table (keyId int identity,name1 varchar(100),name2 varchar(100))
insert into @table(name1,name2)
select object_name(object_id),name from sys.indexes where name like 'IDX%'
declare @i int
declare @imax int
declare @name1 varchar(100)
declare @name2 varchar(100)
set @i =1
select @imax = max(keyId) from @table t
while @i <=@imax
begin
set @name1 =''
set @name2 =''
select @name1 = name1,@name2=name2 from @table t where t.keyId =@i
print 'drop index ['+@name2 +'] on table ['+@name1+'] '
---exec ('drop index '+@name2 +' on table '+@name1 )
set @i =@i+1
end
go
declare @table table(keyId int identity,name varchar(100))
insert into @table (name) select name from sys.tables where type='u'
/*修理表结构*/
declare @i int
declare @imax int
declare @name varchar(100)
set @i =1
select @imax = max(keyId) from @table t
while @i <=@imax
begin
set @name =''
select @name = name from @table t where t.keyId =@i
print 'alter table ['+@name +'] drop column [_MASK_FROM_V2]'
--exec ('alter table '+@name +' drop column [_MASK_FROM_V2]')
set @i =@i+1
end
分两步 *** 作
1 删除索引
2 修改表结构
有疑问及时沟通。
先在测试机上 *** 作,请采纳!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)