sql >> Databasteknik >  >> RDS >> Mysql

För många automatiska ökningar med PÅ DUBLIKAT UPPDATERING AV KEY

Jag tror inte att det finns något sätt att kringgå det här beteendet hos INSERT ... ON DUPLICTE KEY UPDATE .

Du kan dock lägga två satser, en UPDATE och en INSERT , i en transaktion :

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 ;


  1. Konstigt beteende i Postgresql

  2. TIME_FORMAT() Exempel – MySQL

  3. Dödläge i PostgreSQL när UPDATE körs

  4. psql:kunde inte ansluta till servern:Ingen sådan fil eller katalog (Mac OS X)