먼저 답변 드리겠습니다. 나는 많은 비슷한 질문을 보았지만 내 대답에 대해서는 답을 찾지 못했습니다.SQL 데이터베이스의 필드를 CSV 파일의 데이터로 업데이트하십시오.
우선 SQL 기자입니다. 온라인 상점을 개설 한 이래로 나는 많은 것을 배웠지 만, 그 중 많은 부분을 여전히 잘 알고 있습니다.
오케이, 온라인 상점을위한 웹 서버에 데이터베이스가 있습니다. 나는 또한 떨어 뜨릴 수있는 것들을 판다. 몇 분마다 배포자로부터 업데이트 된 인벤토리 파일을 CSV 형식으로 다운로드 할 수 있습니다. 이 파일에는 첫 번째 행에 필드 이름이없는 두 개의 열이 있습니다. 업데이트하려는 테이블은 zen_products입니다. CSV 파일의 첫 번째 열은 products_model 열에 해당하며 고유합니다. CSV 파일의 두 번째 열은 products_quantity 열에 해당합니다. CSV 파일에 SQL 테이블에없는 레코드가 있습니다. 나는 새로운 기록을 만들고 싶지 않다. products_quantity 열을 CSV 파일의 값으로 만 업데이트하려고합니다.
좋아, 이제는 쇼핑 카트 소프트웨어의 관리 섹션을 통해 추가 기능을 사용할 수 있지만 특정 필드 이름을 입력하려면 CSV 파일을 편집해야합니다. 이것은 매우 쉽기 때문에 문제는 아니지만 파일을 편집하고 로그인하고 업로드하고 처리하는 데 몇 분이 걸립니다. 사실 아주 간단합니다. 그러나 나는이 과정을 완전히 자동화 할 수있는 방법을 찾고 싶다. 가능한 한 매 15-30 분마다 독자적으로이 작업을 수행 할 수있다. 당신이 이미징 할 수있는 것처럼, 5 분이 걸리지 만, 15 분마다 5 분이 걸리면 하루 종일 많은 시간을 보내 게됩니다. 바쁘거나 멀리있는 동안에도 일어나는 것을 허용하는 것이 좋을 것입니다.
필요한 경우 작업중인 완전 자동화 된 솔루션에 대해 적절한 금액을 지불 할 의향이 있습니다. 또한 CSV 파일은 FTP를 통해서만 액세스 할 수 있습니다. 그리고 나는 장바구니를 장바구니로 사용합니다.
도움을 주시면 감사하겠습니다. 감사.
업데이트 : JKirchartz 나는 모든 시간을 일을 나타나는이있다, (당신을 감사하고 당신이 방법에 의해 바위)의 도움을 기반으로 나는 그것을 실행
DELETE FROM zen_temp;
load data local infile '/home/somedude/public_html/somefolder/somefile.csv' into table zen_temp
fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(products_model, products_quantity);
UPDATE zen_products SET `products_quantity` = (SELECT products_quantity FROM zen_temp WHERE zen_products.products_model = zen_temp.products_model)
WHERE EXISTS (SELECT products_model FROM zen_temp WHERE zen_products.products_model = zen_temp.products_model);
지금 내 질문은
, 이것을 내가 어떻게 극히 적은 정보로 쉽게 할 수있는 무언가로 바꿀 수 있을까요? 일정을 잡거나 어디서나 쉽게 실행할 수있는 방법이 있습니까? 다시 한번 감사드립니다.
어떤 DBMS를 사용하고 있습니까? PostgreSQL? 신탁? DB2? –
그게 무슨 뜻인지 모르겠지만 귀하의 질문에 대한 대답은 phpmyadmin입니다 – user1678042
phpmyadmin은 DBMS가 아닌 프론트 엔드 도구입니다. 그리고 그것은 MySQL을 위해 사용되는 도구입니다 –