반응형
MySQL에서 동일한 테이블에 행 삽입
나는 다음과 같이 하고 있다.INSERT
쿼리:
INSERT INTO Elements
(EventID, TypeID)
SELECT EventID, 2
FROM Elements
Where TypeID = 1
즉, 다른 유형과 같은 테이블에 요소 행을 삽입합니다.아이디. 잘 돼.
그러나 이러한 행 중 일부가 이미 존재하는 경우 문제가 발생합니다.TypeID = 2
이 경우 생략하겠습니다.INSERT
이러한 행에 대해서는, 계속합니다.
INSERT IGNORE
이 컬럼에 대한 고유한 정보나 다른 정보가 없기 때문에 사용할 수 없습니다.내가 뭘 할 수 있을까?
여기서 하나의 옵션은 고유한 인덱스를 추가한 다음 다음을 사용하여 삽입을 수행하는 것입니다.INSERT IGNORE ... INTO
:
ALTER TABLE Elements ADD UNIQUE unique_index (EventID, TypeID)
INSERT IGNORE INTO Elements (EventID, TypeID)
SELECT EventID, 2
FROM Elements
WHERE TypeID = 1
이 삽입은 다음과 같은 경우 실패합니다.EventID
,TypeID
에 이미 존재하는 값의 쌍Elements
테이블.
GROUP BY 및 사양에 대해 살펴봅니다.
INSERT INTO Elements
(EventID, TypeID)
SELECT EventID, 2
FROM Elements
GROUP BY EventID
HAVING MAX(TypeID)=1
언급URL : https://stackoverflow.com/questions/40505697/inserting-rows-in-the-same-table-in-mysql
반응형
'IT' 카테고리의 다른 글
EL에서 부울 상태를 확인하는 방법은 무엇입니까? (0) | 2022.10.19 |
---|---|
상대 Import에서 최상위 패키지 오류를 초과합니다. (0) | 2022.10.19 |
Vue.js에서 새로운 무효 속성 설정 (0) | 2022.10.19 |
저장된 이미지 주위의 공백 제거 (0) | 2022.10.19 |
시스템인 이유Java 네이티브 어레이 복사 (0) | 2022.10.19 |