반응형
데이터를 삽입하고 특정 열을 확인하여 중복을 방지합니다.
여러 행의 데이터를 삽입하려고 하는 로컬 db가 있지만 중복을 원하지 않습니다.삽입하려는 두 번째 db가 없습니다.sql 파일이 있습니다.이 구조는 제가 삽입할 DB에 대한 것입니다.
(db)artists
(table)names-> ID | ArtistName | ArtistURL | Modified
삽입하려고 합니다.
INSERT names (ArtistName, Modified)
VALUES (name1, date),
(name2, date2),
...
(name40, date40)
문제는 SQL을 사용하여 삽입하고자 하는 이 데이터 목록에 특정 열을 확인하여 데이터를 삽입하고 중복을 방지하는 방법입니다.
뭘 복제해요?중복 이름?중복 행?나는 의심하지 않을 것입니다.ArtistName
.
- 갖고 있다
UNIQUE(ArtistName)
(또는PRIMARY KEY
테이블위에. - 사용하다
INSERT IGNORE
대신에IGNORE
.
(아니오)LEFT JOIN
, 등)
저는 완전히 새로운 테이블에 제 모든 가치를 삽입함으로써 @Hart CO의 조언을 조금이나마 따르게 되었습니다.그런 다음 SQL 문을 사용했습니다.
SELECT ArtistName
FROM testing_table
WHERE !EXISTS
(SELECT ArtistName FROM names WHERE
testing_table.ArtistName = testing_table.ArtistName)
이것은 이름표가 아닌 제 데이터에 있는 모든 아티스트 이름을 알려주었습니다.그런 다음 sql 파일로 내보내고 INSERT를 약간 조정하여 해당 데이터와 함께 이름 테이블에 삽입했습니다.
INSERT IGNORE INTO `names` (ArtistName) VALUES
*all my values from the exported data*
(ArtistName)에서 반환된 데이터를 가질 수 있는 위치.예를 들어 (ArtistName, ArtistUrl, Modified).내보내기에서 반환된 값이 3개의 값을 가지면 됩니다.
이것은 아마도 가장 효율적이지는 않겠지만, 제가 하려는 일에는 효과가 있었습니다.
언급URL : https://stackoverflow.com/questions/39731012/insert-data-and-avoid-duplication-by-checking-a-specific-column
반응형
'programing' 카테고리의 다른 글
jQuery: 부모의 특정한 자녀에게 어떻게 접근합니까? (0) | 2023.11.02 |
---|---|
[object Object] Nodejs로 저장된 Blob (0) | 2023.11.02 |
C에서 읽기 전용 메모리는 어떻게 구현됩니까? (0) | 2023.11.02 |
Android의 작업 표시줄에서 아이콘/로고 제거 (0) | 2023.11.02 |
PHP의 거대 XML 파일 구문 분석 (0) | 2023.11.02 |