집 >데이터 베이스 >MySQL 튜토리얼 >존재를 기반으로 MySQL에서 레코드를 업데이트하거나 삽입하는 방법은 무엇입니까?
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; }
이 코드는 'school_art_id'가 제공된 값과 일치하는 'set_colors' 테이블에 레코드가 있는지 확인합니다. 레코드가 있으면 지정된 필드를 업데이트합니다. 그렇지 않으면 테이블에 새 레코드가 삽입됩니다.
위 내용은 존재를 기반으로 MySQL에서 레코드를 업데이트하거나 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!