Vinzenz Mai: MySQL Befehl INSERT INTO mit Bedinung

Beitrag lesen

Hallo,

MySQL bietet Dir dafür INSERT ... ON DUPLICATE KEY UPDATE. Sorge daher für einen UNIQUE-Index über die beiden Spalten.

stehe ich auf dem Schlauch wie genau meinst du das?

Die MySQL-Doku zu CREATE INDEX zeigt, wie das geht, ich zitiere:

"A column list of the form (col1,col2,...)  creates a multiple-column index."

Da Du je Tag und Text genau einen Eintrag haben willst, bietet sich ein UNIQUE-Index auf diese Spaltenkombination an. Ein

INSERT INTO tabelle1 (  
    text,  
    datum,  
    zaehler  
) VALUES (  
    <dein aufbereiteter text>,  
    CURDATE(),  
    <dein zaehler>             -- sollte dieser beim INSERT nicht 1 sein?  
)  
ON DUPLICATE KEY UPDATE        -- wenn die Kombination von text und datum  
                               -- schon vorhanden ist  
    zaehler = zaehler + 1      -- erhöhe nur den Zähler  

so wie Du es in Deinem Ausgangsbeitrag (bis auf die Datumsspalte) bereits hattest.

Freundliche Grüße

Vinzenz