gpt4 book ai didi

php - Mysql UPDATE查询,保持现有值为NULL

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

到目前为止,我有以下代码:

  $update = $connection->prepare("UPDATE recommendations_tbl
SET IFNULL(?, PLEASE_DO_NOTHING()),
IFNULL(?, PLEASE_DO_NOTHING()),
WHERE recommendation_userid = ?
");


$update->bindValue(1, $recommendationsDataInput["recommendationCategoryNameInput"]);
$update->bindValue(2, $recommendationsDataInput["recommendationManufacturerNameInput"]);
$update->bindValue(3, $recommendationUserID);


$updateResult = $insertion->execute();

现在,我对准备好的语句还很陌生,我刚刚在这里了解了如何在准备好的语句中使用 IFNULL: Logic to NOT insert a value to column X in a prepared statement

除了我的小占位符 PLEASE_DO_NOTHING() 之外,我不确定语法是否真的有效。但是,我现在的主要问题是我不知道我是否可以通过这种方式实际使用 IFNULL() :如果定义了输入值,则设置新值。如果输入值未定义 (=NULL),则不执行任何操作。

这可能吗?如果可以,我该怎么做?

最佳答案

实际上,您可以使用 PHP 或 IFNULL 来完成。

使用 PHP,您可以根据您的 NULL 对象使用不同的准备语句。

使用 IFNULL,您可以尝试设置与当前列中相同的值,例如,您的列称为 recommendation_category_name 和 recommendation_manufacturer_name:

$connection->prepare("UPDATE recommendations_tbl SET
recommendation_category_name = IFNULL(?, recommendation_category_name),
recommendation_manufacturer_name = IFNULL(?, recommendation_manufacturer_name),
WHERE recommendation_userid = ?
");

关于php - Mysql UPDATE查询,保持现有值为NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57754509/

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