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

mysql-opdatering - spring tomme felter over?

Det vil erstatte dem med tomme værdier. Den korrekte måde at gøre det på er slet ikke at sætte disse elementer i forespørgslen:

if (empty($field1) && empty($field2) && empty($field3) {
  // show error message, nothing to do
  return;
}

$updates = array();
if (!empty($field1))
  $updates[] = 'field1="'.mysql_real_escape_string($field1).'"';
if (!empty($field2))
  $updates[] = 'field2="'.mysql_real_escape_string($field2).'"';
if (!empty($field3))
  $updates[] = 'field3="'.mysql_real_escape_string($field3).'"';
$updates = implode(', ', $updates);

mysql_query("UPDATE table SET $updates WHERE ID=123");

Det ville naturligvis være mere rent at placere ændringerne i et associativt array eller objekt og derefter gå igennem dem.



  1. Kopiering af data fra en tabel til en anden tabel. Databaser er forskellige, og tabelstrukturen er anderledes

  2. Sådan hentes data fra mysql-databasen

  3. formatering af et datofelt i mysql

  4. Få en liste over tabeller, som en visning/tabel afhænger af i PostgreSQL