sql >> Databáze >  >> RDS >> Mysql

aktualizace mysql - přeskočit prázdná pole?

Nahradí je prázdnými hodnotami. Správný způsob, jak to udělat, je nevkládat tyto položky do dotazu vůbec:

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");

Zjevně by bylo čistší vložit změny do asociativního pole nebo objektu a poté je procházet.



  1. SQL:Jak přidat hodnoty podle sloupců indexu

  2. MySQL / Classic ASP - Parametrizované dotazy

  3. Získejte poslední odlišnou sadu záznamů

  4. Proč NHibernate nepodporuje dávkování na MySql