MySQL 多表关联插入:根据条件从 aaa 表向 bbb 表插入数据
MySQL 多表关联插入:根据条件从 aaa 表向 bbb 表插入数据
本文将介绍如何使用 MySQL 的 INSERT INTO SELECT 语句,根据 aaa 表中的 status 字段值,有条件地将数据插入到 bbb 表中,实现多表关联插入的功能。
假设 aaa 表的结构如下:
CREATE TABLE aaa (
id INT PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(50) NOT NULL,
status INT NOT NULL
);
bbb 表的结构如下:
CREATE TABLE bbb (
id INT PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(50) NOT NULL,
data VARCHAR(255) NOT NULL,
FOREIGN KEY (user) REFERENCES aaa(user)
);
当 aaa 表中的 status 值为 1 时,才能向 bbb 表中插入一行内容。可以使用如下的插入语句:
INSERT INTO bbb (user, data)
SELECT user, 'data' FROM aaa WHERE status = 1;
这条语句会将 aaa 表中 status 值为 1 的所有记录的 user 和一个固定的 'data' 值插入到 bbb 表中。
注意,这里使用了 INSERT INTO SELECT 语句,同时也使用了 WHERE 子句来限制插入的条件。
原文地址: https://www.cveoy.top/t/topic/mIZQ 著作权归作者所有。请勿转载和采集!