ホームページ >データベース >mysql チュートリアル >PHP で条件文を使用して MySQL レコードを更新または挿入する方法
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 サイトの他の関連記事を参照してください。