반응형
존재하는 경우 PHP MYSQL UPDATE 또는 그렇지 않은 경우 INSERT?
이것이 원격으로 정확한지 모르겠습니다. 필드가 현재 존재하는 경우 데이터베이스를 업데이트하거나 그렇지 않은 경우 삽입하려는 클래스가 있습니다. 복잡한 점은 3 개의 테이블 (set_colors, school_art, baseimage)을 결합하는 것입니다.
어떤 도움이라도 정말 좋을 것입니다.
내가 가진 것은 다음과 같습니다.
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 (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
ELSE
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
");
return $result_array;
}
다음 구문을 찾고 있다고 생각합니다.
INSERT INTO <table> (field1, field2, field3, ...)
VALUES ('value1', 'value2','value3', ...)
ON DUPLICATE KEY UPDATE
field1='value1', field2='value2', field3='value3', ...
두 가지 선택 :
MySQL 매뉴얼 :: INSERT INTO ... ON DUPLICATE KEY UPDATE 구문
또는
둘 다 하나의 쿼리에서 삽입 또는 존재하지 않는 경우 업데이트를 수행 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/6853190/php-mysql-update-if-exist-or-insert-if-not
반응형
'programing tip' 카테고리의 다른 글
Linux : 환경 변수는 어디에 저장됩니까? (0) | 2020.11.17 |
---|---|
레일은 현에 대해 '인간화'와 반대입니까? (0) | 2020.11.17 |
플랫리스트를 다시 렌더링하는 방법은 무엇입니까? (0) | 2020.11.16 |
문자열에서 숫자 0-9 만 반환 (0) | 2020.11.16 |
SQL 서버에서 지난달의 기록 가져 오기 (0) | 2020.11.16 |