Hallo,
INSERT INTO table (artikelnr,titel,rabatt) VALUES (112233,'toller Artikel',10)
ON DUPLICATE KEY UPDATE rabatt=10;
> so weit so gut.
> nun möchte ich den rabatt aber nur updaten, wenn garkein bzw. ein niedrigerer rabatt in dem datensatz vorhanden ist. geht das innerhalb eines sql-statements,
ja. Es gibt verschiedene Wege.
IF, IFNULL, CASE, GREATEST, COALESCE könnten Dir dabei helfen, siehe [Funktions- und Operatorreferenz](http://dev.mysql.com/doc/refman/5.0/en/func-op-summary-ref.html) - das hängt von den von Dir nicht genannten Randbedingungen ab. Den Handbuchabschnitt zur [INSERT ... ON DUPLICATE KEY UPDATE Syntax](http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html) kennst Du sicherlich schon.
Freundliche Grüße
Vinzenz