[mysql主键、外键约束]表创建完成后,再添加主键约束
今天在做数据库作业时,发现了问题,我不小心忘了写主键约束,查了书籍,全都是在插入数据时写的约束,上网找到了一个解决方案试验后找到了它的公式。
alter table 需要插入主键的表名 add primary key(列名);
这就是它的公式,需要注意,这样不可以设置主键名。
下面对设置主键、外键各种方式进行总结
主键 | 外键 |
---|---|
alter table 需要插入主键的表名 add primary key(列名); | alter table 需要插入外键的表名 add CONSTRAINT 外键约束名称 foreign key (外键字段名) references 参考的表名(id字段名); |
在初始化表时,在需要定义的列后直接插入primary key | 在初始化表时,在需要定义的列后直接插入references (参考的表名) |
在初始化表时,在表的声明最后加constraint 约束名 primary key | 在初始化表时,在表的声明最后加constraint 外键名 foreign key 外键所在列名 references 主键所在列名 |
另外,如果要删除带有外键的关系表
删除含有主键外键的表顺序:
先删除主键没有外键所参照的表,再依次删除其他表