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

相关推荐
·云扬·3 分钟前
【MySQL】主从复制:原理、作用与实现方法
数据库·mysql
数据知道8 分钟前
PostgreSQL:详解 MySQL数据迁移,如何将数据平滑迁移到PostgreSQL
数据库·mysql·postgresql
番茄去哪了29 分钟前
在Java中操作Redis
java·开发语言·数据库·redis
JiaHao汤32 分钟前
一文掌握 SQL:数据定义、操作与查询完整教程
数据库·sql
白太岁37 分钟前
Redis:(3) Lua 与 Redis、基于连接池的 Facade 模式封装
数据库·c++·redis·lua·外观模式
zlp199239 分钟前
Flink DataStream API 消费binlog kafka实践
数据库·flink·kafka
l1t1 小时前
利用DeepSeek和qwen 3.5辅助生成SQL优化方法幻灯片视频
数据库·sql·音视频
_千思_1 小时前
【小白说】数据库系统概念 4
数据库
专注&突破1 小时前
DeepAgents 的 Backend详解
数据库
星火开发设计2 小时前
序列式容器:list 双向链表的特性与用法
开发语言·前端·数据结构·数据库·c++·链表·list