[英]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_userfields
表rc_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.