如何在phpMyAdmin中建立两个表ID的关联关系?
如何在phpMyAdmin中建立表间ID关联(外键约束)
你写的LEFT JOIN语句只是查询时临时关联两张表,要建立持久的关联关系,需要创建外键约束,以下是两种实现方式:
一、phpMyAdmin图形界面操作
- 打开phpMyAdmin,选中目标数据库,进入
second表(外键通常建在关联的从表上,假设first是主表,id为主键) - 切换到「结构」标签页,滚动到页面底部点击「关系视图」(部分版本为「外键」选项)
- 在
the_id字段对应的设置区域填写:- 约束名称:自定义名称,如
fk_second_the_id - 引用数据库:选择当前数据库
- 引用表:选择
first - 引用字段:选择
id - 根据需求设置「更新时」「删除时」规则,比如选
CASCADE(同步更新/删除关联数据)或RESTRICT(阻止违反关联的操作)
- 约束名称:自定义名称,如
- 点击「保存」完成外键创建
二、直接执行SQL语句
确保first表的id是主键/唯一索引,且the_id与id数据类型完全一致(如均为INT),执行以下语句:
ALTER TABLE second ADD CONSTRAINT fk_second_the_id_first_id FOREIGN KEY (the_id) REFERENCES first(id) ON UPDATE CASCADE ON DELETE RESTRICT;
ON UPDATE CASCADE:主表first的id更新时,从表second的the_id同步更新ON DELETE RESTRICT:若主表记录被从表关联,禁止删除该主表记录,可按需改为CASCADE(同步删除)或SET NULL(需the_id允许为空)
注意事项
- 关联字段必须数据类型完全匹配(包括长度、是否无符号等)
- 主表的关联字段必须是主键或唯一索引
- 若
second表中存在the_id值在first表中不存在的记录,创建外键会失败,需先清理无效数据
内容的提问来源于stack exchange,提问作者AnonymusGhost
相关产品推荐
相关产品推荐

