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 表中不存在,则操作会失败,因为外键约束被违反。

相关推荐
程序员小羊!2 分钟前
16 JAVA MySQL 8.0
java·开发语言·mysql
2301_773643622 分钟前
MySQLmha
mysql
Dovis(誓平步青云)3 分钟前
《QT学习第五篇:QSS美化界面与API绘图》
开发语言·数据库·qt·学习·时序数据库·开源智能体
焦虑的说说9 分钟前
mysql深分页性能瓶颈根源分析
数据库·mysql
想你依然心痛10 分钟前
数据库技术在电力业务中的核心应用场景
java·开发语言·数据库
weixin_5231853215 分钟前
达梦数据库事务机制踩坑:默认不自动提交事务
数据库·oracle
小陈phd22 分钟前
Qdrant 向量数据库从入门到实战:构建高效语义检索系统
数据库
xingyuzhisuan22 分钟前
Redis 多级缓存落地聚合 API:重复请求降本 70% 实战数据
数据库·redis·缓存·ai
专注于大数据技术栈22 分钟前
什么是Trino?大数据统一联邦查询引擎详解
大数据·数据库
数智化精益手记局31 分钟前
拆解工程项目管理系统的核心功能:工程项目管理系统如何解决进度与成本难题
数据库·产品运营