sql >> Database teknologi >  >> RDS >> Mysql

For mange automatiske stigninger med ON DUPLICATE KEY UPDATE

Jeg tror ikke, der er en måde at omgå denne adfærd af INSERT ... ON DUPLICTE KEY UPDATE .

Du kan dog sætte to sætninger, en UPDATE og en INSERT , i én 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. Trin-for-trin guide til installation af MySQL på Windows

  2. Find ud af datatypen for de kolonner, der returneres i et resultatsæt i SQL Server

  3. Hvordan viser jeg mysql-tabelrækken som kolonne

  4. Sådan bruges BOOLEAN-typen i SELECT-sætningen