mysql海量插入多对多表
我已经介绍了一个新的多对多表,我想知道是否有一种方法可以对2个表进行选择/插入 表:mysql海量插入多对多表,mysql,Mysql,我已经介绍了一个新的多对多表,我想知道是否有一种方法可以对2个表进行选择/插入 表: 使用者 团体 用户组(空) 如何将所有用户插入每个组?例如,用所有内容填充用户组表 用户组包含用户和组的forien密钥 更新以显示表结构的更多详细信息: -- -- Table structure for table `groups` -- CREATE TABLE IF NOT EXISTS `groups` ( `group_id` int(6) NOT NULL AUTO_INCREMENT,
--
-- Table structure for table `groups`
--
CREATE TABLE IF NOT EXISTS `groups` (
`group_id` int(6) NOT NULL AUTO_INCREMENT,
`group_name` varchar(255) NOT NULL,
PRIMARY KEY (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE IF NOT EXISTS `users` (
`user_id` int(6) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) NOT NULL,
`user_address` varchar(255) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Table structure for table `user_groups`
--
CREATE TABLE IF NOT EXISTS `user_groups` (
`user_group_id` int(6) NOT NULL AUTO_INCREMENT,
`user_id` int(6) NOT NULL,
`group_id` int(6) NOT NULL,
PRIMARY KEY (`user_group_id`),
KEY `user_id` (`user_id`,`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
你可以做一个插入…选择 您只需要找到一种方法来选择所需的数据集,如果我理解正确,您希望将每个用户添加到每个组中。具有始终为真联接条件的内部联接将使每个用户与每个组匹配 所以select应该是这样的
从1=1的用户内部加入组中选择users.user\u id、groups.group\u id
所以整个查询应该是
INSERT INTO user\u groups(user\u id,group\u id)选择users.user\u id,groups.group\id FROM users INNER JOIN groups ON 1=1
我可以在PHP脚本中通过循环所有用户来实现这一点,但我只是想知道是否可以使用sql Only更新所有内容或一些更具体的数据,我从来没有想过做1=1。我试图从两张不起作用的表格中进行选择。