MySQL0003:mysql语句 为空不更新 插入和更新语句一体,并判断字段来源值或原始值是否为空决定是否插入数值
1,如果为空字符,就不更新,否则更新
//WG 如果lname 字段为''则不更新,否则更新
$sql = "UPDATE `editorlink` SET lname=if('$lname'='',lname,'$lname'),ldes=if('$ldes'='',ldes,'$ldes'),demoid=if('$demoid'='',demoid,'$demoid'),linkversion='$linkversion',gxdate='$gxdate' WHERE urlmd5='$urlmd5'";
$result = mysqli_query($link, $sql);
2,插入和更新语句一体,并判断字段来源值或原始值是否为空决定是否插入数值
// nowip = CASE WHEN '$nowip'!='' THEN '$nowip' END // `Title` = CASE WHEN `Title`='' or `Title` IS NULL THEN '$title' END, $nowip = $_POST['nowip']; $nowadd = $_POST['nowadd']; // 插入与更新表数据 $termdate = date('Y-m-d H:i:s',strtotime('+20 year')); $sql = "INSERT INTO exejihuo(jhm,jhmstate,exeenable,nowip,nowadd,exenote,admintip,lognums,jsdes,jhdate,logdate,termdate,check1) VALUE('{$_POST['jhm']}','false','1','{$_POST['nowip']}','{$_POST['nowadd']}','{$_POST['exenote']}','',1,'','$nowdate','$nowdate','$termdate','') ON DUPLICATE KEY UPDATE jhm='{$_POST['jhm']}',nowip = CASE WHEN '$nowip'!='' THEN '$nowip' END,nowadd = CASE WHEN '$nowadd'!='' THEN '$nowadd' END,exenote='{$_POST['exenote']}',lognums=lognums+1,logdate='$nowdate'"; $result = mysqli_query($link, $sql);
琥珀君的博客