用SQL语句给一个表的增加自增主键或删除主键

来源:互联网 发布:淘宝客服接待流程图 编辑:程序博客网 时间:2024/05/12 16:15

刚开始时碰到这个需求时,在网上搜索了一下,发现都说不行,得先删除那主键列再重新增加或者先创建一个临时表再把数据导过来,其实在MYSQL中是可以直接修改的。

修改ID字段为自增主键:

alter table `test` change `id` `id` int (11) UNSIGNED NOT NULL AUTO_INCREMENT , add primary key (`id` );

修改ID字段为自增非主键:

alter table `test` change `id` `id` int (11) UNSIGNED NOT NULL AUTO_INCREMENT , drop primary key;

修改ID字段为普通字段:

alter table `test` change `id` `id` int (11) UNSIGNED NOT NULL ;


另外,MYSQL5.1设置数据表分区时,primary key主键必须包含分区关键字,但如果分区关键字恰好不是主键的话,则只能把分区关键字加入到主键。还可以把主键取消同时保留该字段的自增属性,但要有自增属性的字段必须要创建索引(不需要是UNIQUE)。

但我一直搞不明白,为什么主键必须前面的分区关键字,好像没有必须存在的理由,难道是MYSQL公司为了他们方便实现分区算法?


0 0
原创粉丝点击