1

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 />";
4

2 に答える 2

1

理由の1つは、次のようにクエリを実行しない理由です。

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')
于 2012-07-11T10:21:55.060 に答える
0

その質問は私の目には少し奇妙です。私が完全に間違っていない場合、あなたが求めるのは「INSERTステートメントを使用する」だけです。

これを1つのステートメントに短縮することをお勧めします。INSERTINTO...(col1、col2、...)(SELECT ... FROM module);

于 2012-07-11T10:22:54.640 に答える