我正在构建PHP和sql API,并尝试创建更新查询:
$sql = "UPDATE boxes
SET box_id = :box_id, channel = :channel, status = :status
WHERE id = $id";
问题是,例如,如果我仅更新频道,则数据库中的其他字段将变为空。
我希望用户能够选择是否要更新所有字段,仅更新一部分还是仅更新一个字段。
谢谢
答案 0 :(得分:2)
您要寻找coalesce()
吗?
UPDATE boxes
SET box_id = COALESCE(:box_id, box_id),
channel = COALESCE(:channel, channel),
status = COALESCE(:status, status)
WHERE id = :id;
请注意,我也为:id
命名了一个参数。