Mysql
 sql >> база данни >  >> RDS >> Mysql

Твърде много автоматични увеличения с АКТУАЛИЗИРАНЕ НА ДУПЛИКАТ КЛЮЧ

Не мисля, че има начин да се заобиколи това поведение на 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 ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Свържете Metabase с MySQL за изследване на данни

  2. Преобразувайте SQL резултатите в PHP масив

  3. Как да направя архивиране в MySQL?

  4. Брояч на приращение на MySQL SELECT

  5. използване на променлива на средата за локална конфигурация на секвелизиране