thx euch
Ankündigung
Einklappen
Keine Ankündigung bisher.
MySQL Datensätze einmalig/unique machen, geht das?
Einklappen
Neue Werbung 2019
Einklappen
X
-
Dann halt noch wichtig die korrekte Verbindung beim DB öffnen nutzen (zB https://php-de.github.io/jumpto/pdo/#create-conn ) und die PHP (HTML, ...) Dateien auch alle in/als UTF-8 abspeichen und den HTTP header auch so raussenden (hier auf File-Ebene: https://stackoverflow.com/a/4279294/10537201 oder hier generell im Apachen: https://stackoverflow.com/a/9351983/10537201) , dann klappts auch mim Nachbar.
The string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Anhand der Daten lässt sich vermuten, das du eine Deduplizierung bzw. Adressbereinigung durchführen möchtest (z.B. für Mailtapes).
Auf Datenbankebene wird dir "unique" auf einzelnen Spalten nicht viel nutzen, selbst zusammengesetzte unique-constraints über alle Spalten wird nur exakte Dubletten finden - bei der Adressbereinigung brauchst du aber eher eine Heuristik, die "ähnliche" findet. Je ähnlicher sich Adressen sind, desto höher ist die Warscheinlichkeit, das es ein doppelter DS ist.Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
Kommentar
-
Zitat von dustinator Beitrag anzeigenBei meinen Datensätzen kommt es mal vor, dass sie mit einer vorherigen Abfrage gleich sind - und so wiederholt in MySQL auftauchen
Kommentar
-
Zitat von Dormilich Beitrag anzeigen
Bezogen auf deine Daten - was ist, wenn zwei Personen den gleichen Namen, das gleiche Geschlecht und den gleichen Geburtstag haben?- einerseits, wie du schreibst, bei allen Spalten Identität bestehen kann, aber auch
- andererseits, wie @Istegelitz schreibt, auch bei nicht vorhandener "reiner" Doublette das gleich Objekt gemeint sein kann.
Aber: Warum soll eine Maschine entscheiden, ob eine Doublette vorliegt, wo ein Mensch dies doch viel besser beurteilen kann.
M.E. sollte man das Problem da anpacken, wo es entsteht, aber eben nicht durch einen Constraint (der würde in beiden o.g. Fällen versagen), sondern durch ein Prüfung und Rückfrage bei der Eingabe. Wenn ich bei der Eingabe von Adressdaten darauf aufmerksam gemacht werde, daß es bereits einen, zwei oder mehr gleiche oder ähnliche Datensätze gibt, kann ich sofort reagieren. Der Ablauf wäre:- Anwendung erkennt Ähnlichkeit und macht mich darauf aufmerksam
- Anwendung fragt, ob ich einen der "anderen" meine
- ich kann wählen zwischen "ja, es ist ... "-> dann Auswahl aus einem Select-option-Dropdown und "nein, neuer Datensatz!"
Kommentar
-
Zitat von marie123 Beitrag anzeigenM.E. sollte man das Problem da anpacken, wo es entsteht, aber eben nicht durch einen Constraint (der würde in beiden o.g. Fällen versagen), sondern durch ein Prüfung und Rückfrage bei der Eingabe. Wenn ich bei der Eingabe von Adressdaten darauf aufmerksam gemacht werde, daß es bereits einen, zwei oder mehr gleiche oder ähnliche Datensätze gibt, kann ich sofort reagieren. Der Ablauf wäre:- Anwendung erkennt Ähnlichkeit und macht mich darauf aufmerksam
- Anwendung fragt, ob ich einen der "anderen" meine
- ich kann wählen zwischen "ja, es ist ... "-> dann Auswahl aus einem Select-option-Dropdown und "nein, neuer Datensatz!"
Kommentar
-
Zitat von Dormilich Beitrag anzeigen
Bezogen auf deine Daten - was ist, wenn zwei Personen den gleichen Namen, das gleiche Geschlecht und den gleichen Geburtstag haben?
eigentlich filtere ich gerade nach der Internetadresse (ein Event wird auf fremden Seiten einmalig eingepflegt) - und dieser DS soll nie doppelt auf meiner DB auftauchen
eventuell noch nach einem Datum, aber das ist für eine andere Tabelle wichtig - wo ich jeweils ein Event der über mehrere Tage läuft in mehrere Events/DS aufteile
@Marie,
Diese Daten werden nur zur Analyse gebraucht - und es könnten sehr viele auftreten - z.B. in Berlin finden pro Monat 2000 Eventss statt, andere fast Städte genauso viel
Wenn ein paar Events durch die Automatisierung durchfallen, dann ist es nicht so schlimm - ist ja kein Programm für Rakentenabschussbasen oder so ))
Der Sachbearbeiter muss die DS danach noch selbst checken und (falls gewünscht) in eine andere DB übernehmen / oder dort freischalten
Kommentar
-
Aber: Warum soll eine Maschine entscheiden, ob eine Doublette vorliegt, wo ein Mensch dies doch viel besser beurteilen kann.Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
Kommentar
-
Zitat von dustinator Beitrag anzeigen
Das mit Namen, Geschlecht und Geburtsdatum war als einfaches Beispeuil gedacht
eigentlich filtere ich gerade nach der Internetadresse...
Ich bin raus.
Kommentar
-
Sorry Marie, ich bin noch neu hier
Ich dachte die Tabelle wäre entsprechend so klein das sie als Beispiel gewertet würde - hab da jetzt eine Bemerkung reingeschrieben (für zukünftige Leser)
Bei der Internetadresse bin ich durch euch auf die Idee gekommen nur die als unique zu setzen - wollte vorher mehrere Spalten zusammen als unique setzen - was aber für mein Projekt unnötig/überdimensioniert war
Kommentar
-
Zitat von dustinator Beitrag anzeigen..ich bin noch neu hier
..Bei der Internetadresse bin ich durch euch auf die Idee gekommen nur die als unique zu setzen - wollte vorher mehrere Spalten zusammen als unique setzen - was aber für mein Projekt unnötig/überdimensioniert war
Das Ganze nennt sich Modellierung (ergibt > Datenmodell) und es lohnt sich, auf die Zusammenhänge zu schauen und die Anwendungsfälle mal mit dem gedachten Modell durchzuspielen. (Je bedeutender die Anwendung, desto mehr Zeit kann man in die Modellierung und deren Prüfung stecken)
"Überdimensioniert"
Im Sinne von "so viele Daten habe ich ja gar nicht" wäre vielleicht eine falsche Denkrichtung.
Ein Datenmodell kann klein und einfach sein, aber Millionen Datensätze beinhalten.
Ein gutes Datenmodell ist in sich stimmig, es kann komplex sein, muss aber nicht.
"Unique" machen
Unique sind idR technische Schlüssel einer Tabelle, der Primary Key z.B. Fachliche Inhalte, die im Datensatz abgebildet werden, sind es oft nicht, obwohl es so scheinen mag. Eine IP Adresse ist es zunächst schon, dafür sind sie da, das gilt allerdings nur für eine Betrachtung eines hinreichend kurzen Zeitraums.
Kommentar
Kommentar