2016-07-07 6 views
0

테이블에서 중복을 제거하려고합니다. 문제는 각 행에 다른 기본 키가 있으므로 복제가없는 것처럼 보입니다.기본 키를 고려하지 않고 중복 행 삭제

임시 테이블을 만들고 pk없이 DISTINCT 행으로 채우기로 결정했습니다.

SQLite3에 문법 오류가 있음을 알립니다. 문제가 어디 있는지 아십니까?

편집 : 문제는 분명히 하나의 INSERT에 여러 행을 삽입하려고합니다. 모든 행에서 작동하도록 쿼리를 수정하는 방법?

INSERT INTO records_temp 
      (title, 
      image, 
      stav, 
      product_url, 
      vyrobca, 
      objednacie_cislo, 
      katalogove_cislo, 
      popis, 
      parametre, 
      mnozstvo, 
      kus_bez_dph, 
      kus_s_dph, 
      celkom_s_dph, 
      url_kategoria, 
      category) 
VALUES  (SELECT DISTINCT title, 
          image, 
          stav, 
          product_url, 
          vyrobca, 
          objednacie_cislo, 
          katalogove_cislo, 
          popis, 
          parametre, 
          mnozstvo, 
          kus_bez_dph, 
          kus_s_dph, 
          celkom_s_dph, 
          url_kategoria, 
          category 
      FROM records) 
+1

삽입 ... – jarlh

답변

2

VALUES 키워드 insert . . . select 위해 필요하지 않은 (C1, C2, ...)를 선택 T1에

INSERT INTO records_temp 
     (title, 
     image, 
     stav, 
     product_url, 
     vyrobca, 
     objednacie_cislo, 
     katalogove_cislo, 
     popis, 
     parametre, 
     mnozstvo, 
     kus_bez_dph, 
     kus_s_dph, 
     celkom_s_dph, 
     url_kategoria, 
     category) 
    SELECT DISTINCT title, 
         image, 
         stav, 
         product_url, 
         vyrobca, 
         objednacie_cislo, 
         katalogove_cislo, 
         popis, 
         parametre, 
         mnozstvo, 
         kus_bez_dph, 
         kus_s_dph, 
         celkom_s_dph, 
         url_kategoria, 
         category 
     FROM records 
관련 문제