Als je dit in een enkele instructie wilt doen (klinkt als wat je wilt), raad ik aan om de INSERT ... ON DUPLICATE KEY UPDATE
te gebruiken syntaxis, als volgt:
INSERT INTO table (id, someothervalue) VALUES (1, 'hi mom')
ON DUPLICATE KEY UPDATE someothervalue = 'hi mom';
De eerste INSERT
statement wordt uitgevoerd als er geen bestaande record is met de opgegeven sleutelwaarde (primaire sleutel of uniek). Als er al een record bestaat, de volgende UPDATE
statement (someothervalue = 3
) wordt uitgevoerd.
Dit wordt ondersteund in alle versies van MySQL. Zie voor meer informatie de pagina MySQL Reference Manual-pagina voor INSERT ... ON DUPLICATE KEY UPDATE