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

Грешка в синтаксиса на MySQL ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ

INSERT INTO ExtraStats (
    DATE
    , supportStaff
    , startEmails
    , endEmails
    , emailsAnswered
    )
VALUES (
    '$startDate'
    , '$supportStaff'
    , '$startEmail'
    , '$endEmail'
    , '$emailAnswered'
    )
    ON DUPLICATE KEY

UPDATE 
        supportStaff = '$supportStaff'
        , startEmails = '$startEmail'
        , endEmails = '$endEmail'
        , emailsAnswered =  '$emailAnswered'

Можете също да използвате VALUES() функция, така че да не предавате стойностите два пъти:

    ...
    ON DUPLICATE KEY    
UPDATE 
          supportStaff = VALUES(supportStaff)
        , startEmails = VALUES(startEmails)
        , endEmails = VALUES(endEmails)
        , emailsAnswered = VALUES(emailsAnswered)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. грешка в mysql:превиши максималния брой връзки на час

  2. Как да създадете mysql база данни със sequelize (nodejs)

  3. Бавно начално време на MySQL в режим GTID? Проблемът може да е размерът на двоичния регистрационен файл

  4. Грешка в MySQL при задаване на стойност по подразбиране за DATE или DATETIME

  5. Как да напиша регулярен израз поглед напред/зад в mysql