繁体   English   中英

为其他表中字段的每个用户标识插入行

[英]Insert row for each userid for fields from other table

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

我有rc_userfields表,其中有4个字段,键和位置。 现在,我要将这4个字段添加到rc_profile表中。 我想为所有用户ID添加它。 表示将为所有用户标识添加所有4个字段。

rc_userfields表

可以从rc_users表中rc_users用户ID
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', '');

最后:我想从添加的所有4个键rc_userfieldsrc_profile表中的每个用户rc_users

您需要使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM