Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mettre à jour MySQL sans spécifier les noms de colonne

Si les deux premières colonnes constituent la clé primaire (ou un index unique), vous pouvez utiliser remplacer

Donc en gros au lieu d'écrire

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

Vous écrirez

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

Bien sûr, cela ne fonctionne que si la ligne existe déjà, sinon elle sera créée. De plus, cela provoquera un DELETE et un INSERT derrière la scène, si cela compte.