Nabend Gemeinde,
Ich hab eine DB von Postgres nach MySQL übernommen und wollte nun einen Primary Key auf eine Spalte der Tabelle legen -> nennen wir sie passenderweise "ID". Mein Vorgänger hat sich scheinbar auf seinen Sourcecode verlassen und keinen Primary Key in der PG Datenbank gesetzt.
Nun habe ich aber als ID zb. :
DE1Sch01
und
DE1sch01
was bei MySQL unweigerlich (vermutlich auch bei PG) unweigerlich zu einem Duplicate Key Entry führt. Gibt es eine Möglichkeit (Vielleicht sogar easy per SQL) eine Liste aller solcher Fääle zu bekommen, ohne sich erst eine Liste aller "ID"s zu holen und wieder mit allen IDs zu vergleichen ?
Das würde ich aus meinem jetzigen Kenntnisstand nämlich machen, was ein extra Script wäre.
Gruß
Drizzt
Doppelte Einträge einer DB
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Drizzt!Drizzt hat geschrieben:Gibt es eine Möglichkeit (Vielleicht sogar easy per SQL) eine Liste aller solcher Fääle zu bekommen
So eine SQL-Abfrage könnte eventuell so aussehen:
Code: Alles auswählen
SELECT
id,
COUNT(id) AS Anzahl
FROM
meine_tabelle
GROUP BY
id
HAVING
(COUNT(id) > 1)
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Alex!Drizzt hat geschrieben:Hmmm, ja tut er, vielen Dank, ich habs mit WHERE probiert
Ich glaube mich erinnern zu können, dass der große Unterschied zwischen WHERE und HAVING der ist, dass WHERE noch bevor die Gruppierung gebildet wurde filtert und HAVING das Ergebnis der Gruppierung filtert.
Du kannst also mit WHERE gar nicht nach dem Ergebnis von COUNT filtern, da dieses zum Zeitpunkt der Verwendung von WHERE noch nicht gebildet wurde.
lg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.