gpt4 book ai didi

mysql - 计算后将数据从一个表插入到另一个表的过程

转载 作者:行者123 更新时间:2023-11-30 00:08:25 25 4
gpt4 key购买 nike

我有两张 table -1. 用户2. 小部件 “用户”表中有数千个用户。我创建了一个名为“widgets”的新表。现在每个用户都有 5 个不同的小部件,我需要为“用户”表中的每个条目在“小部件”表中插入 5 个条目。这是详细的场景-

“用户”表有列 -“id”

“widgets”表有列 - “user_id”、“widgetId”、“align”、“priority”

对于每个 user.id,我想将 5 条记录插入到“widgets”表中,如下所示 -

用户表中的第一个 ID,1,1,1

用户表中的第一个 ID,2,2,2

用户表中的第一个 ID,3,3,3

用户表中的第一个 ID,4,4,4

用户表中的第一个 ID,5,5,5

用户表中的第二个 ID,1,1,1

用户表中的第二个 ID,2,2,2

用户表中的第二个 ID,3,3,3

用户表中的第二个 ID,4,4,4

用户表中的第二个 ID,5,5,5…………………………

我想创建一个程序来执行相同的操作。请有人建议我该怎么做。

最佳答案

我建议为默认值创建一个单独的表。这不仅允许随着业务需求和产品的增长轻松调整默认值,而且还允许将模板用于其他目的。

create table DefaultWidgets (widgetid INT, align INT, priority INT);
insert into DefaultWidgets values (1,1,1);
insert into DefaultWidgets values (2,2,2);
insert into DefaultWidgets values (3,3,3);
insert into DefaultWidgets values (4,4,4);
insert into DefaultWidgets values (5,5,5);

insert into widgets values (1,1,100,100);
-- mainly to demonstrate that a new row won't be inserted for user 1, widget 1.

INSERT INTO widgets
SELECT id, r.widgetid, r.align, r.priority
FROM users u
CROSS JOIN DefaultWidgets R
WHERE NOT EXISTS (
SELECT 1
FROM widgets w
WHERE userid = u.id
AND w.widgetid=R.widgetid
);

关于mysql - 计算后将数据从一个表插入到另一个表的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24309605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com