Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: DB update 1.0.6.4 to 2.0.0.0 errors

    piru

    • Fördermitglied
    • Beiträge: 1.263
    • Geschlecht:
    DB update 1.0.6.4 to 2.0.0.0 errors
    am: 03. Mai 2016, 15:00:45
    Hallo,

    bei dem update der DB 1.0.6.4 to 2.0.0.0 habe ich einen Fehler (erst) bei der Zeile 439:
    Code: SQL  [Auswählen]
    ALTER TABLE newsletter_recipients ADD UNIQUE idx_customers_email_address (customers_email_address);

    Das ist weil ganz viele Kd. bei den Newsletter als Gast und als Kunde angemeldet sind
    Zitat
    Error Code: 1062
    Duplicate entry 'kunde@bla.de' for key 'idx_customers_email_address'

    Wie kann ich alle duplizierte Einträge auf ein mal finden und löschen?

    Gruß piru

    Linkback: https://www.modified-shop.org/forum/index.php?topic=34943.0

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: DB update 1.0.6.4 to 2.0.0.0 errors
    Antwort #1 am: 03. Mai 2016, 15:44:45
    Würde ich per Hand machen .... weil man eventuell unterschiedliche stati hat.

    Vorgehensweise meinerseits wäre:
    Man exportiert die Tabelle in ein CSV und zwar MIT Spaltenüberschriften. Macht das ganze mit Openoffice Calc auf.

    Dann eine neue Spalte mit der Formel, also z.b. in Spalte Q
    Zeile 1:
    duplikate
    Zeile 2:
    =zählenwenn($C$2:$C$10000;C2)
    C bitte ersetzen durch die Spalte, in der die emailadresse steht! Den Wert 10000 anpassen auf die Anzahl der Zeilen (darf größer sein, aber nicht kleiner)

    Dann die Zelle mit der Formel am unteren rechten Eck nehmen und bis ans Ende der Tabelle ziehen.

    Jetzt die erste Zeile anklicken (mit der Überschrift) und im Menü Daten -> Filter -> Autofilter

    Jetzt kommt eine Liste mit Zahlen, 1 sind die die es nur einmal gibt, 2 und größer die um die es geht.

    Jetzt würde ich die Tabelle bereinigen und mir die id aufschreiben, von allen gelöschten.

    Zum Schluss in der DB
    Code: SQL  [Auswählen]
    DELETE FROM newsletter_recipients WHERE (mail_id = 3 OR mail_id = 5)
    die IDs löschen, die betroffen sind.

    piru

    • Fördermitglied
    • Beiträge: 1.263
    • Geschlecht:
    Re: DB update 1.0.6.4 to 2.0.0.0 errors
    Antwort #2 am: 03. Mai 2016, 15:55:42
    Ich habe es so gemacht:

    Code: SQL  [Auswählen]
    SELECT customers_email_address, mail_id, COUNT(1) menge
    FROM newsletter_recipients
    GROUP BY customers_email_address
    HAVING menge>1  

    Und dann habe ich mir die ID geschrieben und weiter wie du es gesagt hast

    Danke dir!

    Gruß piru
    9 Antworten
    5306 Aufrufe
    29. Oktober 2015, 15:28:23 von Tomcraft
    12 Antworten
    8022 Aufrufe
    13. Februar 2012, 17:48:05 von Alfred