假设我有一个准备好的查询:
$update_rq = $DB->prepare("
UPDATE `table`
SET
`A` = :a,
`B` = :b,
`C` = :c
WHERE `id` = :id
LIMIT 1
");
如果我将使用以下代码执行此查询:
$update_rq->execute(['id' => $id,'a' => 1,'b' => 2]);
我认为这个查询将设置C
列的NULL
值(如果这个列可以有 NULL 值,否则它会抛出一个错误,如果它不能)。
如果相应的变量未设置(等于 NULL),我是否可以修改prepare
orexecute
语句以更改此行为以保持C
列不变( )?SET C = C
另一种方法:也许我可以在更新之前获取行,更改所需的列,然后用新值更新?