永发信息网

mysql数据表 唯一索引需要修改成普通索引 怎么改?

答案:4  悬赏:0  手机版
解决时间 2021-12-02 05:24
mysql数据表 唯一索引需要修改成普通索引 怎么改?
最佳答案
    解决方案:先删除唯一索引,再在当前字段创建普通索引,参考下列说明以及SQL:
    普通索引
    普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHERecolumn=)或排序条件(ORDERBYcolumn)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。
    唯一索引
    普通索引允许被索引的数据列包含重复的值。比如说,因为人有可能同名,所以同一个姓名在同一个“员工个人资料”数据表里可能出现两次或更多次。
    如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。这么做的好处:一是简化了MySQL对这个索引的管理工作,这个索引也因此而变得更有效率;二是MySQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了;如果是,MySQL将拒绝插入那条新记录。也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。
    删除索引
    可利用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
    创建索引
    在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。
    ALTER TABLE
    ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。 
    ALTER TABLE table_name ADD INDEX index_name (column_list)
    ALTER TABLE table_name ADD UNIQUE (column_list)
    ALTER TABLE table_name ADD PRIMARY KEY (column_list)
     
全部回答
修改表的结构之类的操作, 建议直接就用工具了, mysql数据库建议用phpMyadmin或者是Navicat, 看着字点点鼠标就行了
alter table xxx drop index xxx
alter table xxx add unique idx_xxx(xxx)
删了重建
drop index xxx;
create index xxx on table_name(xxx);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何说明椭圆的两焦点和椭圆上任意一点连线的
matlab中产生20个两位随机整数,输出其中小于
我在北环路丰庆路住,求附近晚上营业的游泳馆
进口轴承6204和6205多少钱1个
急 翻翻译
武汉袁家墩属于什么街道
信用卡刷t+1和及时付那个利息多
北回归线穿越我国的省级行政单位的简称自西向
下列说法正确的是A.生成盐和水的反应,一定是
七夕買牛不用猜
电网标识尺寸0.90a里的a是什么意思
狗死了,接着养它同胞狗对主人不利吗
各位老铁们,电信旗下的哪个app实用点啊?
单选题当今的世界格局是A.多极格局形成B.呈多
难道忍将客服就真的找不到了吗?一年了
推荐资讯
冲压孔的大小跟冲压间隙没有关系吗
成语取()清白
biover是比利时什么牌子的保健品
电机定子冲片具体材料有哪几种
诺基亚手机6120c密码忘了怎么解锁
高校职称评审表封面的"专业名称"须填写全称如
广西全超投资有限公司怎么样?
听说顶呱呱在宜昌商标可以加急?
单选题环境污染和生态恶化是人类面临的最严重
北宋与西夏和辽进行了多年的战争,但最终都进
问百分之五的水稳层1立方水泥用量多少斤
豆沙绿怎么调
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?