Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Atualize o MySQL sem especificar nomes de coluna


Se as duas primeiras colunas compõem a chave primária (ou um índice exclusivo), você pode usar substituir

Então, basicamente, em vez de escrever
UPDATE settings
   SET fangate = $fangate,
       home = $home,
       thanks = $thanks
       overview = $overview,
       winner = $winner,
       modules.wallPost = $modules.wallPost,
       modules.overviewParticipant = $modules.overviewParticipant
WHERE id = $id AND procjectId = $projectId

Você vai escrever
REPLACE INTO settings
 VALUES ($id, 
         $projectId,
         $fangate,
         $home,
         $thanks
         $overview,
         $winner,
         $modules.wallPost,
         $modules.overviewParticipant)

Claro que isso só funciona se a linha já existir, caso contrário ela será criada. Além disso, causará um DELETE e um INSERT nos bastidores, se isso for importante.