반응형
INSERT...에서 2행의 영향을 받는 이유는 무엇입니까?중복된 키 업데이트 시?
하고 있어요.INSERT ... ON DUPLICATE KEY UPDATE잠깐 동안PRIMARY KEY다음 표에 나타냅니다.
DESCRIBE users_interests;
+------------+---------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------------------------+------+-----+---------+-------+
| uid | int(11) | NO | PRI | NULL | |
| iid | int(11) | NO | PRI | NULL | |
| preference | enum('like','dislike','ignore') | YES | | NULL | |
+------------+---------------------------------+------+-----+---------+-------+
그러나 이러한 값은 고유해야 하지만 영향을 받는 행은 2개입니다.
INSERT INTO users_interests (uid, iid, preference) VALUES (2, 2, 'like')
ON DUPLICATE KEY UPDATE preference='like';
Query OK, 2 rows affected (0.04 sec)
왜 이런 일이 생기는 건가요?
편집
비교에 대해서는, 다음의 쿼리를 참조해 주세요.
UPDATE users_interests SET preference='like' WHERE uid=2 AND iid=2;
Query OK, 1 row affected (0.44 sec)
Rows matched: 1 Changed: 1 Warnings: 0
매뉴얼:
중복 키 업데이트 ON을 사용하면 행당 해당 행 값은 행을 새 행으로 삽입하면 1이 되고 기존 행이 업데이트되면 2가 됩니다.
행을 갱신했는지(키 입력만 했는지) 알 수 있습니다.http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
언급URL : https://stackoverflow.com/questions/3747314/why-are-2-rows-affected-in-my-insert-on-duplicate-key-update
반응형
'source' 카테고리의 다른 글
| 왜 Python이 기능적 프로그래밍에 적합하지 않은가? (0) | 2023.01.25 |
|---|---|
| MySQL 필드 DATETIME이 ISO8601을 잘라냅니다. (0) | 2023.01.25 |
| Java 8 스트림의 각 주문과 각 주문의 비교 (0) | 2023.01.25 |
| 컨텍스트 또는 액티비티 외부 getString (0) | 2023.01.25 |
| Safari 및 Chrome 데스크톱 브라우저에서 비디오 자동 재생이 작동하지 않습니다. (0) | 2023.01.25 |