로드 데이터 로컬 INFILE을 사용하여 n-to-n 관계 채우기
데이터베이스에 있는 제품의 이미지를 다운로드하는 스크립트 파일이 있습니다.파일이 작동 중인 제품은Products
테이블. 테이블의 각 행(즉, 각 제품)에는 다운로드해야 하는 이미지가 하나 이상 있을 수 있습니다.
지금까지 다운로드된 이미지는 별도의 테이블에 저장되었습니다.ProductImages
각각의 다운로드된 이미지는 외부 키를 통해 제품 데이터베이스로부터 하나의 제품에 연결되었습니다.ProductImages
테이블은 다운로드된 이미지 파일의 경로를 저장하고 있었고, 그 외에도 다운로드된 이미지에 대한 메타 정보도 저장하고 있었습니다.
우리는 제품용 이미지 외에도 데이터베이스에 저장해야 하는 다른 이미지도 있다는 것을 깨달았습니다. 그래서 저는 이미지와 관련된 정보를 분리하려고 합니다.ProductImages
테이블, 별도로Images
테이블, 차례로 다시 연결됩니다.Product
테이블, 관계형 테이블을 통해.
문제는 다운로드 받은 이미지와 해당 데이터를 데이터베이스에 추가하는 것입니다.속도를 높이려면 의 행을 사용합니다.ProductImages
테이블이 데이터베이스에 일괄적으로 삽입되었습니다.LOAD DATA LOCAL INFILE
call: 내 스크립트는 어떤 이미지가 어떤 제품에 속하는지 알고 있으므로 스크립트 메모리의 데이터에서 CSV 파일을 작성한 다음 해당 파일을 데이터베이스에 로드합니다.
그러나 새로운 데이터베이스 구조를 사용하면 먼저 이미지 정보를 별도의 테이블에 로드해야 합니다(MariaDB가 각 이미지에 고유한 자동 증분 기본 키를 할당합니다). 그런 다음 관계 테이블을 다음과 같은 관계로 채웁니다.Products
그리고.Images
문제는 삽입된 각 이미지와 연관된 기본 키를 미리 알지 못하기 때문에 더 이상 관계형 테이블을 채울 수 없다는 것입니다.
제 유일한 아이디어는 도우미 열을 삽입하는 것이었습니다.Images
테이블, 내 다운로더 스크립트에 의해 생성된 고유 ID로, 관계를 채우는 데 사용될 수 있지만, 내게는 이것이 조금 더럽게 보입니다.제가 계속 사용할 수 있는 다른 방법이 있습니까?LOAD DATA LOCAL INFILE
관계 테이블도 채웁니까?
언급URL : https://stackoverflow.com/questions/68338369/using-load-data-local-infile-to-populate-n-to-n-relationship
'programing' 카테고리의 다른 글
nbsp가 CSS 콘텐츠 태그에서 작동하지 않습니다. (0) | 2023.08.28 |
---|---|
appcompat-v7의 도구 모음에서 제목 제거 (0) | 2023.08.28 |
Jelastic v4.9+를 사용하여 mysql 또는 maridb 클러스터를 자동 확장하도록 설정한 사람이 있습니까? (0) | 2023.08.28 |
swing, swt, gtk 또는 qt와 같은 HTML 캔버스 위에 구축된 GUI 툴킷이 있습니까? (0) | 2023.08.28 |
Powershell 또는 명령줄을 사용하여 Windows에서 압축/지핑된 폴더 만들기 (0) | 2023.08.28 |