1

我正在学习 MySQL,所以不知道复杂的查询。所以需要你的专家帮助。

我有 rc_userfields 表,其中包含我已经拥有的 4 个字段、键和位置。现在我想将这 4 个字段添加到rc_profile表中。我想为所有用户名添加它。意味着将为所有用户 ID 添加所有 4 个字段。

rc_userfields 表

可以从rc_users
rc_users 表中引用用户 ID

所以最终结果将类似于下面的图像
rc_profile 表

请参阅下图了解所有三个表格:

我知道如何使用以下代码手动插入:

INSERT INTO `rc_profile` (`userid`, `keys`, `data`) VALUES
(1, 'myself', ''),
(1, 'position', ''),
(1, 'nickname', ''),
(1, 'blog', ''),
(2, 'myself', ''),
(2, 'position', ''),
(2, 'nickname', ''),
(2, 'blog', ''),
(3, 'myself', ''),
(3, 'position', ''),
(3, 'nickname', ''),
(3, 'blog', ''),
(4, 'myself', ''),
(4, 'position', ''),
(4, 'nickname', ''),
(4, 'blog', '');

最后:我想为表中的每个用户添加表中的所有 4个字段rc_userfieldsrc_profilerc_users

4

1 回答 1

1

您需要使用获取两个表的笛卡尔积,CROSS JOIN结果将插入到 table 上rc_profile,例如。

INSERT  INTO rc_profile (userID, `keys`, data)
SELECT  a.userID, b.key, '' data
FROM    rc_users a CROSS JOIN rc_userfields b
于 2013-07-13T18:27:09.233 回答