Seite 1 von 1

UPDATE wenn Eintrag vorhanden, INSERT wenn noch nicht!

Verfasst: 25.10.2005 17:00
von mristau2k5
Ich suche eine Möglichkeit in einem PHP-Projekt in einer mySQL-Datenbank Datensätze anlegen zu lassen, wenn diese noch nicht vorhanden sind, anderenfalls zu UPDATEN. Die Datensätze sind mit Jahr und Monat eindeutig beschreibbar, dazu kommt noch ein Inhalt. Da das Script Interaktiv ist und für einige Jahre gelten soll, ist es nicht praktikabel die Datensätze gleich bei der Installation anzulegen, sondern immer nur, wenn wirklich Daten eingesetzt werden.

Verfasst: 25.10.2005 17:40
von Pyramide
Dafür gibt es bei MySQL die Syntax REPLACE INTO (http://dev.mysql.com/doc/refman/4.1/en/replace.html) oder INSERT ... ON DUPLICATE KEY UPDATE (http://dev.mysql.com/doc/refman/4.1/en/insert.html).

Verfasst: 25.10.2005 18:31
von mristau2k5
wow, danke für die schnelle Hilfe, ich werde das gleich mal antesten

Also ich hab da grad noch ein kleines Problemchen entdeckt, ich hab die Daten ja über Jahr und Monat beschrieben und keinen PRIMARY KEY in der Tabelle, also funktionieren die Befehle nicht direkt.
Ich hab noch nie mit mehrfachen PRIMARY KEYS für eine Tabelle gearbeitet, aber gelesen, dass es geht, könnte mir da vllt jemand helfen?

Code: Alles auswählen

$create_sql = "CREATE TABLE " . TBL_BELEG_PLAN . " (year INT(4) NOT NULL, month INT(2) NOT NULL, checkboxes INT NOT NULL)";
das ist der bisherige Code zum erstellen der Tabelle, könnte man den auf 2 UNIQUE IDs umschreiben