Zum Inhalt springen

Doppelte Einträge vermeiden


FinalFantasy

Empfohlene Beiträge

Hi,

Wie ist es eigentlich effektiver doppelte Einträge zu vermeiden, wenn ich von PHP auf MySQL zugreiffe?

Vorher nen Select mit den einzufügenden Daten machen, und dann von PHP her ggf. den Insert schon verhindern?

Müsste doch eigentlich auch gehen, dass ich das Feld in MySQL als Unique definiere.... Wird dann von SQL der Insert abgewiesen?

Diese Methode funktioniert aber nur mit einzelnen Feldern, und nicht mit mehreren in Kombination...

Oder vielleicht nur ein Select count (*) und dann Prüfen, ob schon was existiert, also das Ergebniss > 0 ist?

Wie macht denn ihr das so?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von FinalFantasy

Hi,

...

Müsste doch eigentlich auch gehen, dass ich das Feld in MySQL als Unique definiere.... Wird dann von SQL der Insert abgewiesen?...

Aus MySQL-Hilfe:

Wenn das Schlüsselwort IGNORE in einem INSERT Statement mit vielen Reihen angegeben wird, werden alle Reihen ignoriert, die einen existerenden PRIMARY oder UNIQUE Schlüsseleintrag enthalten.

Syntax:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

        [INTO] tbl_name [(col_name,...)]

        SELECT ...

Sollte doch eigentlich gehen, ich mach es so.... :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es ist auch möglich einen Primärschlüssel oder ein UniqueConstraint über mehrere Spalten zu setzen. So kann man prüfen ob die Kombination aus Spalte1, Spalte2 und Spalte3 (bis Spalte n) eindeutig ist. Wenn nicht gibts keinen Insert.

Einfach wenn du einen Constaint anlegst in Klammern mehrere Spalten angeben.

Fertsch!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...