mysql 中如何给已存在的表中字段增设置主键?

mysql 中如何给已存在的表中字段增设置主键?,第1张

首先你必须把name的条件改为not

null

alter

table

mytable_1

alter

column

name

char(1)

not

null

然后可以把原主键删除,再重新增加主键。

alter

table

mytable_1

drop

constraint

PK_mytable_1(主键名字)

alter

table

mytable_1

add

constraint

PK_mytable_1

primary

key(id,name)

工具/原料

电脑   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、点击保存就完成外键设置了。

外键要保证数据完整的,比如:

表A的字段a是表B的主键b的外键。那么当表A中有数据的时候,并且表A中的数据中有一条的字段a的值是‘1’,但是表B中的所有记录的主键b中没有一个值是‘1’的。那么这这个时候你要给A.a加上关联B.b的外键就不可以了。

解决方法:

方法一:备份表A后清空数据->加外键->查看表A中备份数据,添加在表B中添加相应的主键

方法二:查看表A中所有的a字段的值在表B中不存在的列,要么在表A中删除这些多出来的记录,要么在表B中新增少的记录。然后再添加主键。


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

原文地址: http://outofmemory.cn/zaji/7456258.html

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

发表评论

登录后才能评论

评论列表(0条)

保存