PHP MySQL:根据存在更新或插入记录
在 MySQL 中,您可能会遇到更新现有记录或插入新记录的需要基于数据库中是否已存在某些字段。使用 IF EXISTS 和 ELSE 语句的组合可以有效地处理此任务。
要更新记录(如果存在)或插入记录(如果不存在),请考虑以下语法:
IF EXISTS(SELECT * FROM table_name WHERE field = 'value') UPDATE table_name SET field1 = 'value1', field2 = 'value2', ... ELSE INSERT INTO table_name (field1, field2, ...) VALUES ('value1', 'value2', ...)
在您的具体场景中,要根据“school_art”和“baseimage”表中是否存在相应记录来更新或插入“set_colors”表中的记录,您可以修改您的代码如下:
public function set_layer_colors($value) { global $db; $result_array = mysql_query(" IF EXISTS(SELECT * FROM set_colors WHERE school_art_id = '{$value}') UPDATE set_colors SET school_art_id = '{$value}', baseimage_id = '{$baseimage_id}', sub_folder = '{$sub_folder}', layer = '{$layer}' ELSE INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer) VALUES ('{$value}', '{$baseimage_id}', '{$sub_folder}', '{$layer}') "); return $result_array; }
此代码检查“set_colors”表中是否存在“school_art_id”与提供的值匹配的记录。如果记录存在,则更新指定字段。否则,它将在表中插入一条新记录。
以上是如何根据存在性更新或插入MySQL中的记录?的详细内容。更多信息请关注PHP中文网其他相关文章!