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

相关推荐
gys98952 分钟前
uniapp使用sqlite模块
数据库·sqlite·uni-app
凌冰_39 分钟前
Java Maven+lombok+MySql+HikariCP 操作数据库
java·数据库·maven
武子康41 分钟前
Java-165 Neo4j 图论详解 欧拉路径与欧拉回路 10 分钟跑通:Python NetworkX 判定实战
java·数据库·性能优化·系统架构·nosql·neo4j·图论
岳麓丹枫0011 小时前
pg_stat 视图介绍
数据库·postgresql
弗朗凌戈1 小时前
影院票务管理系统oracle
数据库·oracle·vr
·云扬·1 小时前
MySQL主从数据一致性校验工具:pt-table-checksum 详解
数据库·sql·mysql
wudl55662 小时前
Python 虚拟环境和包管理
数据库·python·sqlite
那我掉的头发算什么2 小时前
【数据库】事务
数据库·sql·mysql·github·数据库开发
全栈工程师修炼指南2 小时前
DBA | Oracle 数据备份迁移之传统 exp/imp 工具实战指南
数据库·oracle·dba
自由日记2 小时前
MySql修炼2(力扣):收了6只妖
数据库·mysql