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

 

posted @ 2022-04-18 22:27  琥珀君  阅读(537)  评论(0编辑  收藏  举报