我正在学习MySQL,所以不知道复杂的查询。所以需要你的专家帮助。
我有rc_userfields表,其中包含4个字段,键和位置。现在我想将这4个字段添加到rc_profile
表中。我想为所有用户ID添加它。表示将为所有用户ID添加所有4个字段。
rc_userfields表
用户ID可以来自rc_users
表
rc_users表
因此,最终结果将如下图所示 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', '');
最后:我想为rc_userfields
表中的每个用户将rc_profile
表中的所有4个字段键添加到rc_users
表
答案 0 :(得分:1)
您需要使用CROSS JOIN
获取两个表的笛卡尔积,结果将插入表rc_profile
,例如。
INSERT INTO rc_profile (userID, `keys`, data)
SELECT a.userID, b.key, '' data
FROM rc_users a CROSS JOIN rc_userfields b