将MySQL表中的数据保存到另一个表中

问题描述:

我在这里查询从MySQL数据库中提取数据。它工作的很好。但是,试图做的是将从模块表中提取的所有数据保存到另一个表中。我怎么能这样呢?任何帮助,将不胜感激。谢谢。将MySQL表中的数据保存到另一个表中

$coremoduleY1Query = "SELECT ID,title,credits FROM module WHERE ID = 'CS1101' 
      UNION SELECT ID,title,credits FROM module WHERE ID = 'CS1105' 
      UNION SELECT ID,title,credits FROM module WHERE ID = 'CS1106' 
      UNION SELECT ID,title,credits FROM module WHERE ID = 'CS1107' 
      UNION SELECT ID,title,credits FROM module WHERE ID = 'CS1108' 
      UNION SELECT ID,title,credits FROM module WHERE ID = 'CS1109'";                   


     $coremoduleY1Result = mysql_query($coremoduleY1Query); 
     echo "<B> Core Modules </B>";      
     while ($coremoduleRow = mysql_fetch_array($coremoduleY1Result)) { 

       $id = htmlentities($coremoduleRow['ID']); 
       $title = htmlentities($coremoduleRow['title']); 
       $credits = $coremoduleRow['credits']; 

       echo "<ul>" . $id . " " . $title . " " . $credits . "</ul>"; 
     } 
     echo "<br />"; 
+1

感谢大家的建议。非常感谢! – user1444442 2012-07-11 10:32:06

对于一个你为什么不查询是这样的:

SELECT ID,title,credits FROM module WHERE ID IN ('CS1101','CS1105','CS1106','CS1107','CS1108','CS1109') 

其次,你可以做你想做的完全在MySQL:

INSERT INTO other_table (ID,title,credits) 
SELECT ID,title,credits FROM module WHERE ID IN ('CS1101','CS1105','CS1106','CS1107','CS1108','CS1109') 
+0

是..........:D – Petah 2012-07-11 10:26:06

+0

@Petah谢谢。从来没有想过按照你的建议来做我的查询,但我不是最好的PHP编码人员,是在学习规模上。感谢你的建议。你建议的方式明确更快。谢谢你的整体回答。祝你有个美好的一天! – user1444442 2012-07-11 10:30:36

这个问题是有点怪我的眼睛。 如果我不完全错误,你所要求的是:“使用INSERT语句”。您可能希望将其缩短为单个语句: INSERT INTO ...(col1,col2,...)(SELECT ... FROM module);