해결하기 쉬울 거라고 생각했는데 문제가 있습니다. 자동 증가 ID로 테이블에 레코드를 삽입하고 있습니다. 중복 키 업데이트시 자동 증가 ID를 동일하게 유지하고 싶습니다 (업데이트 아님). 예를 들어 다음 테이블이 있다고 가정 해 보겠습니다.
+-------------+-----------+------+
| ID | Fruit | Color|
+-------------+-----------+------+
| 1 | Apple | Red |
| 2 | Apple | Green|
+-------------+-----------+------+
그런 다음 실행합니다.
INSERT INTO table (Fruit, Color) VALUES(
Apple, Red)
내 고유 키는 (Fruit, Color) (ID는 별도의 것임)이므로 테이블이 업데이트 될 때 ID 열이 그대로 (ID = 1) 그대로 유지되기를 원합니다. 그러나 위의 값을 삽입하면 ID가 자동으로 3으로 증가합니다.
누군가가 업데이트시 ID 값이 증가하지 않도록하는 ON DUPLICATE KEY UPDATE 문을 제공 할 수 있습니까?
INSERT INTO table (Fruit, Color) VALUES(
Apple, Red)
ON DUPLICATE KEY UPDATE (
{statement here})
기본 키를 ID 열로 만든 다음 (Fruit, Color)를 고유 키로 설정해야합니다. 그런 다음 아래 @Andrew B Anthony가 제공 한 쿼리를 실행할 수 있습니다.
INSERT INTO table (Fruit, Color) VALUES
Apple, Red)
ON DUPLICATE KEY UPDATE
Fruit=values(Fruit),
Color=values (Color)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다