【发布时间】:2011-02-13 04:05:51
【问题描述】:
我不确定这是否可能。如果没有,请告诉我。
我有一个更新 3 个字段的 PDO mysql。
$update = $mypdo->prepare("UPDATE tablename SET field1=:field1,
field2=:field2,
field3=:field3
WHERE key=:key");
但我希望field3 仅在$update3 = true; 时更新(意味着field3 的更新由条件语句控制)
这可以通过单个查询来完成吗?
我可以使用 2 个查询来完成此操作,我更新 field1 和 field2 然后检查布尔值并在单独的查询中更新 field3。
//run this query to update only fields 1 and 2
$update_part1 = $mypdo->prepare("UPDATE tablename SET field1=:field1,
field2=:field2
WHERE key=:key");
//if field3 should be update, run a separate query to update it separately
if ($update3){
$update_part2 = $mypdo->prepare("UPDATE tablename SET field3=:field3
WHERE key=:key");
}
但希望有一种方法可以在 1 个查询中完成此任务?
【问题讨论】:
-
你能澄清一下,你的意思是field3,而不是update3吗?如果是这样,您是指您提供的新值是 true 还是现有值?
-
update3是一个布尔值,$update3=true;是帮助我决定是否真的要更新field3=:field3的条件。我将更新问题以使其更清楚。