2017-04-08 20 views
1

私はあるテーブルから別のテーブルにすべてのデータを移動しようとしています。私のhvaeはPHPMyAdminのSQLクエリとしてうまく動作しますが、何らかの理由で私のWebページから実行すると、2行目の構文に関するエラーが表示されます。ウェブサイトからの問い合わせについては下記をご覧ください。MYSQLクエリはPHPMyAdminで動作しますが、ウェブサイトでは動作しません

if($old == 'Yesterday'){ 
$movequery = "INSERT INTO yesthistory select * from history; 
TRUNCATE TABLE history"; 

if (!mysqli_query($con2, $movequery)) 
{ 
    echo("Error description: " . mysqli_error($con2)); 
} 
+1

mysqli_query()は、一度に1つのクエリのみを実行できます。 2つの 'INSERT'と' TURNICATE'をしています。 – Qirel

+0

'TRIGGER'を作成するか、' mysqli_multi_query'を使うか、クエリをループすることができます。思考のための食べ物:http://stackoverflow.com/questions/14715889/strict-standards-mysqli-next-result-error-with-mysqli-multi-query/22469722#22469722 – mickmackusa

答えて

0

あなたは、単一のクエリ内のsemiclonで区切られた2つの事業
クエリが1でこれらのクエリのいずれかを実行し、この

$movequery1 = "INSERT INTO yesthistory select * from history"; 
$movequery2 = "TRUNCATE TABLE history"; 

する必要がありますを実行しているのだからです。

0

あなたの文のWHERE条項に基づいて、毎日ジョブを実行するためにevent schedulerを使用します。それだけで1日1回実行する場合は、あなたの中に任意のより細かい時間分解能を持っていないので(

CREATE EVENT archive_history 
    ON SCHEDULE EVERY 1 DAY 
    COMMENT 'archives claims older than their expiry date' 
DO 
BEGIN 
    INSERT INTO yesthishistory SELECT * FROM history WHERE .... 
    DELETE FROM history WHERE .... 
END 

有効期限切れのロジック)、変更を実行するたびに大量のパフォーマンスが低下することはありません。

関連する問題