also, ich habe es jetzt nochmal mit
mysql getestet. Lege eine Tabelle mit folgendem DDL an
SQL-Code:
CREATE TABLE IF NOT EXISTS `testtable` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Spalte1` int(11) NOT NULL,
`Spalte2` int(11) NOT NULL,
`Spalte3` int(11) NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `UQ_1_2` (`Spalte1`,`Spalte2`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci ;
Führe jetzt dieses
SQL aus:
Code:
INSERT INTO Tabelle (Spalte1, Spalte2, Spalte3) VALUES (3, 18, 12)
ON DUPLICATE KEY UPDATE Spalte3 = Spalte3 + 12
es wurde ein neuer Datensatz eingefügt. Jetzt nochmal ausführen => der bereits angelegte Datensatz wurde aktualisiert.
Warum? Es existiert ein "Unique Key" auf den Spalten 1 & 2.