Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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,您好,我在控制台或phpmyadmin sql cmd中调用mysql查询选择 SELECT HF, ID FROM AH WHERE HF !=0 GROUP BY HF; 在此之后,我需要对上一个select中返回的每一行执行命令 foreach IF (SELECT COUNT(*) FROM `TOT` WHERE `ID` = @selectedID AND `Uto` = @selectedHF ) = 0 THEN INSERT INTO `TOT` (`

您好,我在控制台或phpmyadmin sql cmd中调用mysql查询选择

SELECT HF, ID FROM AH WHERE HF !=0 GROUP BY HF;
在此之后,我需要对上一个select中返回的每一行执行命令

foreach
  IF (SELECT COUNT(*) FROM `TOT` WHERE `ID` = @selectedID AND `Uto` = @selectedHF ) = 0 THEN    
      INSERT INTO `TOT` (`ID`, `HF`) VALUES (@selectedID, @selectedHF);
  END IF;
endforeach;

如何在mysql中执行此foreach循环?

您可以通过一个查询、插入。选择不需要循环,但您确实希望检查不存在:

INSERT INTO `TOT` (`ID`, `HF`) 
    SELECT ID, HF
    FROM AH a
    WHERE HF <> 0 AND 
          NOT EXISTS (SELECT 1 FROM TOT WHERE TOT.ID = a.ID AND TOT.UTO = @selectedHF)
    GROUP BY HF;

应该是您正在寻找的。游标可以完成任务,但看起来它也可以完成目标。游标通常不适合在可以避免的地方使用。谢谢你的回复。我把Uto=HF改为Uto=@selectedHF-这会影响你的查询吗?@peter。不,不应该。