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

Opdater MySQL uden at angive kolonnenavne

Hvis de to første kolonner udgør den primære nøgle (eller et unikt indeks), kan du bruge erstat

Så dybest set i stedet for at skrive

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

Du vil skrive

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

Dette virker selvfølgelig kun, hvis rækken allerede eksisterer, ellers oprettes den. Det vil også forårsage en DELETE og en INSERT bag scenen, hvis det betyder noget.



  1. Fortsætter Indsætter i Oracle, når undtagelsen er rejst

  2. Hvordan nulstiller man stopord i MYSQL?

  3. Alternativ til en MySQL midlertidig tabel i Oracle

  4. Håndtering af MySQL langvarige forespørgsler