gpt4 book ai didi

php - 仅当值不为空时 MySQL 更新列

转载 作者:可可西里 更新时间:2023-11-01 07:22:22 25 4
gpt4 key购买 nike

我有一个 UPDATE 查询并使用 Ajax,我想知道是否有任何值是空的,我能否只更新数据库中非空的值。我不知道这是否可能有 if 语句或要检查的内容以跳过空值。我知道我可以添加另一个表单元素,但只是想知道是否还有其他解决方案。

仅当数据是来自前端表单的 POST 时。如果数据不是 POST,则不要更新此 Title = '.$title .',

$id = $_POST['id'];
$title = "";
$description = $_POST['Description'];
$date = $_POST['Date'];

$query = 'UPDATE user SET

`id` = '.$id.',
`Title` = '.$title .',
`Description` = '.$description.',
`Date` = '.$date =.'
WHERE `id` = '.$id;

$result = mysql_query($query) or die("<b>A fatal MySQL error occured</b>.<br />Query: ".$query."<br />Error: (".mysql_errno().") ".mysql_error());

更新:这对我有用。谢谢卡里姆·达拉夫

$query = "更新用户集 Title = Coalesce($title,Title ) 等...

最佳答案

用 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."' ";

或:

  $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."' ";

关于php - 仅当值不为空时 MySQL 更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25857895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com