मुझे नहीं लगता कि INSERT ... ON DUPLICTE KEY UPDATE
के इस व्यवहार को बायपास करने का कोई तरीका है। ।
हालाँकि आप दो कथन डाल सकते हैं, एक UPDATE
और एक INSERT
, एक लेनदेन
में :
START TRANSACTION ;
UPDATE pages
SET etc = 'randomness'
WHERE name = 'bob' ;
INSERT INTO pages (name, etc)
SELECT
'bob' AS name
, 'randomness' AS etc
FROM dual
WHERE NOT EXISTS
( SELECT *
FROM pages p
WHERE p.name = 'bob'
) ;
COMMIT ;