2016-07-07 1 views
0

Я пытаюсь удалить дубликаты из таблицы. Проблема в том, что каждая строка имеет другой первичный ключ, поэтому кажется, что нет дубликатов.Удалите повторяющиеся строки без учета первичного ключа

Я решил создать временную таблицу и заполнить ее строк DISTINCT без pk.

SQLite3 говорит, что есть синтаксическая ошибка. Вы знаете, где проблема?

EDIT: Проблема в том, что я пытаюсь вставить несколько строк в один 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

вставки в t1 (c1, c2, ...) выберите ... – jarlh

ответ

2

VALUES ключевое слово не требуется для insert . . . select:

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