mysql如何添加一个表的外键

1:创建一个父表,主键作为子表的外键:

1 create table province(
2     pId int primary key auto_increment,
3     pName varchar(20)
4 );

2:创建子表,外键是父表的主键:

1 create table user(
2 userId int primary key auto_increment,
3 userName varchar(40),
4 pid int,
5 foreign key(pid) references province(pId)
6 );

给一张表添加外键,即给子表的外键添加主键的规则: 在子表声明一个字段pid int,用于作为子表的外键,foreign key(子表的外键字段) references 父表的表名(父表的主键的字段名);

3:当创建好数据表时添加外键约束:

alter table user add foreign key(pid) references province(pId);

alter table 子表的数据表名 add foreign key(子表的外键名称) references 父表的数据表名称(父表的主键名称);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

python数据处理实战-自动统计mysql数据库数据表每天数据量

日常报表统计,日总量,日增量不可避免,这篇文章我们从实际应用出发,从逻辑思考到最后写出代码,一步步分析拆解 一.表结构设计 既然想统计每一张表每天的数据量,后续...

3637
来自专栏从ORACLE起航,领略精彩的IT技术。

测试修改gcs_server_processes参数

3115
来自专栏杨建荣的学习笔记

浅谈exp/imp(上) (r5笔记第81天)

作为DBA,经常需要在不同数据库环境间做数据的导入导出,exp/imp就是这样的轻便快捷的客户端工具,可以很方便的在不同数据库之间转移数据对象,即使数据库位于不...

2608
来自专栏三杯水

Codis3.2集群HA高可用方案

Sentinel需要使用原生的Redis-server,版本要等于或高于Codis3.2里面的3.2.8版本, 这里是在Redis3.2.9的下配置测试的,另外...

592
来自专栏程序猿

SQL sever 触发器

一: 触发器 是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新 记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性...

3417
来自专栏乐沙弥的世界

ORA-00054 故障处理一例

最近index job出现失败,于是尝试手动执行试试。收到了ORA-00054的错误消息。

1033
来自专栏Netkiller

Hyperledger Fabric Chaincode 开发

中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 <netkiller@msn.com>

59311
来自专栏沃趣科技

应用示例荟萃 | performance_schema全方位介绍(下)

使用performance_schema中的语句当前事件记录表和语句事件历史记录表可以查询数据库中最近执行的一些SQL语句,以及语句相关的信息,这里我们以eve...

1543
来自专栏数据库新发现

使用Oracle Wrap工具加密你的代码

Last Updated: Monday, 2004-11-15 22:31 Eygle

702
来自专栏杨建荣的学习笔记

MySQL自增列的重复值问题(r12笔记第25天)

如果需要把一台MySQL中的数据定期归档到另外一台MySQL历史库中,那么很可能会发现会有重复值的问题,导致数据导入会失败,而这个问题其实是和自增列的重复...

3306

扫码关注云+社区