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

Sloupec aktualizace MySQL pouze v případě, že hodnota není prázdná

Zkuste to s Coalesce .

   $query = " UPDATE user 
   SET 
 `Title`       = CASE WHEN `Title`='' or `Title` IS NULL THEN '$title' END, 
 `Description` = CASE WHEN `Description`='' Or `Description` IS NULL THEN '$description' END, 
  `Date`       = CASE WHEN `Date`='' Or Date` IS NULL THEN '$date' END
    WHERE `id` = '".$id."' ";

nebo :

  $query = " UPDATE user 
  SET 
 `id`         = Coalesce('$id''".$id."' , NULLIF(`id`,'')), 
`Title`       = Coalesce('$title''".$title."',NULLIF(`Title`,'') ) , 
`Description` = Coalesce('$description''".$description."' , NULLIF(`Description`,'') ) , 
 `Date`       = Coalesce('$date''".$date."',NULLIF(`Date`,'')) 
 WHERE `id` = '$id''".$id."' ";


  1. Zjistěte, kde se váš kód PHP zpomaluje (problém s výkonem)

  2. Jak zjistit, zda je vypočítaný sloupec deterministický na serveru SQL Server

  3. Je mezi těmito dvěma dotazy rozdíl?

  4. ORA-16789:Protokoly opakování v pohotovostním režimu jsou nakonfigurovány nesprávně