我有一个准备好的声明来更新几个字段。我从公式中获取数据,但并非所有字段都是必需的。所以可能有些字段没有设置。我将它们默认设置为 NULL。现在我不想用 NULL 覆盖旧值。如果它是 NULL,我如何告诉 MySql 不要更新该值?
$insert_stmt = $mysqli->prepare("
UPDATE members SET username=?, email=?, $password=?, $random_salt=?, level=?, customerID=?, name=?, surname=?, phone=?, quantities=? WHERE id=?
");
$insert_stmt->bind_param('ssssissss', $username, $email, $password, $random_salt, $level, $customerID, $firstname, $surname, $phone);
$insert_stmt->execute();
在我的情况下,密码和 random_salt 值可能为 NULL。仅用 NULL 覆盖密码会非常糟糕;)