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

相关推荐
吴声子夜歌9 小时前
MongoDB 4.2——查询
数据库·mongodb
三十岁老牛再出发9 小时前
07.26每日总结
linux·c语言·mysql
xieliyu.10 小时前
MySQL 存储过程详解:概念、创建与删除全教程
开发语言·数据库·mysql
ttwuai11 小时前
AI 生成后台删除按钮后,MySQL 软删除和唯一索引怎么验
数据库·mysql·golang
想你依然心痛11 小时前
用MySQL玩转数据可视化:从SQL查询到动态图表的完整实战
sql·mysql·信息可视化
张人玉11 小时前
基于 Vue 3 + ECharts + Express + SQLite 构建的新能源汽车销量数据分析与可视化平台——新能源汽车销量数据分析系统
数据库·vue.js·sqlite·echarts
笨笨饿13 小时前
#102_Codex无在VSCold无法打开
java·c语言·数据库·笔记
向夏威夷 梦断明暄13 小时前
从架构特点到功能缺陷,重新认识分析型分布式数据库
数据库·分布式·架构
Mico1813 小时前
MySQL 8.0.35 主从延迟模拟与解决
mysql