반응형
중복 키에 있는 MySQL...기존 신분증을 얻으십니까?
사용하고 있습니다.ON DUPLICATE KEY UPDATE테이블에 중복 삽입된 내용을 처리할 수 있습니다.
제 경우에는 태그를 저장하는 간단한 테이블입니다.
id(int, PK, AI, 부호 없음, null 아님)tag(vararar 25, null이 아님,
이것은 잘 작동하지만, 삽입에 성공한 ID, 또는 중복되는 경우 기존 ID 중 하나를 검색해야 합니다.
삽입아이디 = 받고 있습니다.0어디에ON DUPLICATE KEY UPDATE화재가 발생했습니다. 삽입이 이루어지지 않았기 때문에 예상되는 행동인 것 같습니다.
기존 ID를 얻을 수 있는 방법이 없을까요, 아니면 별도의 읽기 쿼리로 향하는 건가요?
세 번째 열을 추가할 수 있습니다.ModifiedDate사용할 수 있습니다.
insert into t(id, tag)
select id, tag
on duplicate key update ModifiedDate = now();
이를 통해 업데이트가 실제로 발생하고, 그 결과로 업데이트가 발생합니다.LAST_INSERT_ID()값을 반환합니다.
언급URL : https://stackoverflow.com/questions/62998306/lookup-insert-if-necessary-in-one-sql-statement
반응형
'programing' 카테고리의 다른 글
| php umask(0) 목적이 무엇입니까? (0) | 2023.10.01 |
|---|---|
| 이 포인터 산술은 왜 C에서는 허용되지 않는 겁니까? (0) | 2023.10.01 |
| Powershell: Get-Child 아이템 출력을 한 번에 한 번씩 제대로 색칠하기 (0) | 2023.10.01 |
| 새로운 Angular에서 ngSrc와 동등한 것은 무엇입니까? (0) | 2023.10.01 |
| 명령줄 응용 프로그램을 통해 Firefox에서 열려 있는 탭 목록을 얻으려면 어떻게 해야 합니까? (0) | 2023.09.26 |