Linuchs: INSERT ... ON DUPLICATE KEY UPDATE

Moin,

ich speichere, wann an eine Veranstaltung per Mail erinnert werden soll.

Wenn der UNIQUE Key email_e/termin_id bereits vorliegt, soll auf den neuen Erinnerungstermin geändert werden:

INSERT INTO mail_erinnerung (
 owner_id
,email_e
,tag
,termin_id
) VALUES (
 1
,'ich@mir.de'
,'2018-06-29'
,'25052'
) ON DUPLICATE KEY UPDATE
tag = '2018-06-29'

Eine Änderung des Termins ergibt mysql_affected_rows=[2], das kann ich in der Doku nicht nachvollziehen. Welcher soll denn der zweite Satz sein?

An current_timestamp sehe ich, dass nur ein Satz geändert wurde.

Gruß Linuchs

  1. Tach!

    Eine Änderung des Termins ergibt mysql_affected_rows=[2], das kann ich in der Doku nicht nachvollziehen.

    Ich kann.

    With ON DUPLICATE KEY UPDATE, the affected-rows value per row is 1 if the row is inserted as a new row, 2 if an existing row is updated, and 0 if an existing row is set to its current values.

    dedlfix.

    1. Danke.

      Ich hatte mich etwas verwirren lassen, weil man ja sonst auch 2 Sätze ändern kann.