Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql海量插入多对多表_Mysql - Fatal编程技术网

mysql海量插入多对多表

mysql海量插入多对多表,mysql,Mysql,我已经介绍了一个新的多对多表,我想知道是否有一种方法可以对2个表进行选择/插入 表: 使用者 团体 用户组(空) 如何将所有用户插入每个组?例如,用所有内容填充用户组表 用户组包含用户和组的forien密钥 更新以显示表结构的更多详细信息: -- -- Table structure for table `groups` -- CREATE TABLE IF NOT EXISTS `groups` ( `group_id` int(6) NOT NULL AUTO_INCREMENT,

我已经介绍了一个新的多对多表,我想知道是否有一种方法可以对2个表进行选择/插入

表:

  • 使用者
  • 团体
  • 用户组(空)
  • 如何将所有用户插入每个组?例如,用所有内容填充用户组表

    用户组包含用户和组的forien密钥

    更新以显示表结构的更多详细信息:

    --
    -- 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。我试图从两张不起作用的表格中进行选择。