Philipp Hasenfratz: Datum, mit dem in der MySQL-Tabelle, auf existenz überprüfen.

Beitrag lesen

Halihallo Mirco

ich habe ein Formular mit dem ich ein beliebiges Datum mit seinem
Event in eine Datenbank schreiben kann.
Allerdings sollte nun geprüft werden, ob das einzutragende Datum
in der jeweiligen Datenbank schon existiert.

Warum?

Ich möchte schließlich nicht, dass meine Events überschrieben werden.

Dann ist das Datenschema nicht richtig umgesetzt. Entweder du identifizierst einen
Event über sein Datum und dann gibt es eben nur ein Event/Tag, oder du identifizierst
ihn über eine ID und lässt (ohne UNIQUE Constraint) mehrere Events pro Tag zu.
Bei einem INSERT wird jedoch _nie_ irgendetwas überschrieben.

MySQL Tabelle:

id - int
datum - date
event - text

Ich nehme an, id ist der Primary Key. Warum soll der eine Event dann einen anderen
überschreiben?

Welche Möglichkeiten habe ich das Datum mit dem jeweiligen
Datum in der Datenbank zu vergleichen?

Nur über eine zweite Abfrage ohne UNIQUE-Constraint; mit UNIQUE-Constraint wird die
Datenbank das Einfügen verweigern.

http://www.mysql.com/doc/en/Constraints.html. Zur Zeit braucht MySQL zwingend
einen UNIQUE-Index für den UNIQUE-Constraint. Mehr noch: Der UNIQUE-Constraint ist IMHO
nur über einen UNIQUE-Index definiert.

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.