ホームページ >データベース >mysql チュートリアル >PHP で条件文を使用して MySQL レコードを更新または挿入する方法

PHP で条件文を使用して MySQL レコードを更新または挿入する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-12 06:13:01724ブラウズ

How to Update or Insert MySQL Records Using Conditional Statements in PHP?

PHP と MySQL: 条件付きステートメントを使用したレコードの更新または挿入

PHP アプリケーションでは、データを更新または挿入するための汎用性の高い方法が必要です特定の条件が満たされるかどうかに基づいて MySQL データベースに保存されます。これは、update または insert ステートメントを組み合わせて使用​​して実現できます。

次のコード スニペットは、このアプローチを示しています。

public function set_layer_colors($value) {
    global $db;

    $query = "INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer)
        SELECT school_art.id, baseimage.id, baseimage.sub_folder, baseimage.layer
        FROM school_art 
        JOIN baseimage ON baseimage.base_folder = school_art.series_code 
        WHERE baseimage.image_type = 'B' ORDER BY school_art.id 
    ON DUPLICATE KEY UPDATE
        school_art_id=VALUES(school_art_id),
        baseimage_id=VALUES(baseimage_id),
        sub_folder=VALUES(sub_folder),
        layer=VALUES(layer);";

    $result_array = mysql_query($query);

    return $result_array;
}

このコードは、INSERT ステートメントと ON DUPLICATE KEY UPDATE ステートメントを組み合わせています。 INSERT ステートメントは、school_art テーブルと Baseimage テーブルの結合から取得された値を使用して、set_colors テーブルに新しい行を挿入しようとします。

指定された school_art_id が set_colors テーブルに既に存在する場合、ON DUPLICATE KEY UPDATE句が有効になります。この句は、VALUES 句で指定された値で既存の行を更新し、基本的に既存の値を上書きします。 school_art_id が存在しない場合は、通常どおり新しい行が挿入されます。

以上がPHP で条件文を使用して MySQL レコードを更新または挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。