반응형
단일 쿼리에 여러 행을 삽입하려는 SQL 쿼리가 있습니다. 그래서 다음과 같이 사용했습니다.
$sql = "INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)";
mysql_query( $sql, $conn );
문제는이 쿼리를 실행할 때 UNIQUE
키 ( PRIMARY KEY
가 아님)가 아닌지 확인하고 싶습니다. 위의 'name'
을 확인해야하며 이러한 'name'
이 이미 존재하는 경우 해당하는 전체 행을 업데이트해야합니다. 그렇지 않으면 삽입해야합니다.
예를 들어, 아래 예에서 'Katrina'
가 이미 데이터베이스에있는 경우 필드 수에 관계없이 전체 행을 업데이트해야합니다. 다시 'Samia'
가 없으면 행을 삽입해야합니다.
나는 사용을 생각했다 :
INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29) ON DUPLICATE KEY UPDATE
여기에 함정이 있습니다. 진행 방법에 대해 막히고 혼란 스러웠습니다. 한 번에 삽입 / 업데이트 할 여러 행이 있습니다. 방향을 알려주세요. 감사.
해결 방법
INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)
ON DUPLICATE KEY UPDATE
age = VALUES(age),
...
참조 페이지 https://stackoverflow.com/questions/2714587
반응형
'MySql' 카테고리의 다른 글
MySQL While 루프를 사용한 MySQL 삽입 (0) | 2020.11.28 |
---|---|
MySQL MySQl 오류 # 1064 (0) | 2020.11.28 |
MySQL SQLite INSERT-ON DUPLICATE KEY UPDATE (UPSERT) (0) | 2020.11.28 |
MySQL WAMP 용 MySQL 데이터베이스 파일은 어디에 있습니까? (0) | 2020.11.28 |
MySQL MYSQL : GROUP BY, LEFT JOIN 및 WHERE 절이있는 COUNT는 0 값을 반환하지 않습니다. (0) | 2020.11.28 |
댓글