在MySQL中,一个表可以通过外键(FOREIGN KEY)与另一个表的字段关联。这通常用于创建一对一或一对多的关系。
假设我们有两个表:users
和 user_profiles
。users
表有一个字段 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_id
在 users
表中不存在,则操作会失败,因为外键约束被违反。