mysql 怎么修改某列为主键

mysql 怎么修改某列为主键,第1张

如果表之前有主键则先删除:

alter table 表名 drop constraint 主键名

修改主键:

alter table 表名 add constraint 主键名 primary key (column1,column2,....,column)

alter table t1 drop column c1

alter table t1 add column c1int identity

假设你的表名是“manager”,现自增主键列名是“id”,另有一列名为“user_id",现在要把现有主键“id”取消主键约束,更改为新主键“user_id”,那么用pt工具更改命令如下:

/usr/bin/pt-online-schema-change --user=root --host=127.0.0.1 --port=3306 --charset=utf8 --nodrop-old-table --alter="change id id int(10), drop primary key, modify user_id int auto_increment primary key" D=数据库名,t=manager --exec

说明:以上第一步取消原自增主键‘id’的自增属性(否则无法修改),第二步drop主键约束,第三步将user_id设置为新主键。

注:如表上有触发器则不可使用此pt工具。

使用完毕会产生一个“manager_old”表,这是原表备份,以便更改失误后回退,务必确认更改无误后删除。

工具/原料

电脑   MySQL

方法/步骤

设置主键:

1、通过终端进入到mysql命令行工具。

2、通过use关键字进行到目标数据库里。

3、如原表已有主键,先把原来的主键删除掉,通过DROP PRIMARY KEY命令:ALTER TABLE `jingyan` DROP PRIMARY KEY。

4、主键已经没有了。

5、通过命令:ADD PRIMARY KEY来添加ALTER TABLE `jingyan` ADD PRIMARY KEY ( `id` ) 。

6、输入后按下回车键即可看到 query ok执行成功的字符。

7、回到数据库的可视化工具,即可显示现在的表在id列上添加了主键了。

设置外键:

1、创建好主从表。

2、选择主表,点击设计表,进入到表设计界面。

3、点击外键,进入到外键设置界面。

4、先设置外键名称和选择主表的外键字段。

5、然后在设置外键字段对应从表的数据库、表名和字。

6、点击保存就完成外键设置了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7572922.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存