コードでは、set_colors テーブルの行を更新することを目的としています。すでに存在する場合。それ以外の場合は、新しい行を挿入します。ただし、クエリ内で IF EXISTS 条件を利用していますが、これはこのようなシナリオを処理する推奨方法とは一致しません。
ベースの更新または挿入操作を実行するにはフィールドが存在する場合は、INSERT ... ON DUPLICATE KEY UPDATE 構文の使用を検討してください:
INSERT INTO <table name> (field1, field2, field3, ...) VALUES ('value1', 'value2', 'value3', ...) ON DUPLICATE KEY UPDATE field1='value1', field2='value2', field3='value3', ...
この構文では:
次のクエリは使用法を示しています:
INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer) VALUES ('1', '2', 'test-folder', '10') ON DUPLICATE KEY UPDATE baseimage_id='2', sub_folder='updated-folder', layer='15'
以上がフィールドの存在に基づいて MySQL で行を更新または挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。