mysql 一个表 关联 另外一个表的 字段

在MySQL中,一个表可以通过外键(FOREIGN KEY)与另一个表的字段关联。这通常用于创建一对一或一对多的关系。

假设我们有两个表:usersuser_profilesusers 表有一个字段 id 作为主键,user_profiles 表有一个字段 user_id 作为外键,关联到 users 表的 id 字段。

以下是创建这两个表和建立关联的SQL语句:

复制代码
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(255) NOT NULL
);
 
CREATE TABLE user_profiles (
  id INT AUTO_INCREMENT PRIMARY KEY,
  user_id INT,
  first_name VARCHAR(255),
  last_name VARCHAR(255),
  FOREIGN KEY (user_id) REFERENCES users(id)
);

在这个例子中,user_profiles 表的 user_id 字段是外键,它引用了 users 表的 id 字段。这样,user_profiles 表中的每一行都必须有一个有效的 user_id,它在 users 表中存在。如果尝试插入或更新 user_profiles 表的数据,而该数据中的 user_idusers 表中不存在,则操作会失败,因为外键约束被违反。

相关推荐
忍冬行者1 分钟前
kubeadm安装的k8s集群涉及etcd数据库的参数优化
数据库·kubernetes·etcd
大猫和小黄21 分钟前
若依微服务Cloud中Quartz-Job模块适配OpenGauss数据库
数据库·微服务·opengauss·quartz·定时任务·若依·job
悟空码字25 分钟前
MySQL分库分表,从“一室一厅”到“豪华别墅区”的数据库升级之旅
java·后端·mysql
奔跑的小十一36 分钟前
ShardingSphere-JDBC 开发手册
java·数据库
lkbhua莱克瓦2437 分钟前
基础-MySQL概述
java·开发语言·数据库·笔记·mysql
姓蔡小朋友39 分钟前
MySQL增删查改、多表查询
数据库·mysql
Knight_AL1 小时前
Maven <dependencyManagement>:如何在多模块项目中集中管理依赖版本
java·数据库·maven
TAEHENGV1 小时前
导入导出模块 Cordova 与 OpenHarmony 混合开发实战
android·javascript·数据库
不剪发的Tony老师1 小时前
sqlectron:一款轻量级的SQL客户端
数据库·sql
酸菜牛肉汤面1 小时前
7、索引设计的原则
数据库