我有以下两个SQL查询。他们单独使用相同的PHP脚本工作正常。将性能明智地结合在一起会有优势吗?如果是这样,那怎么办呢。 COALESCE部分让我感到难过,因为我只希望该列只更新一次。
$sql_update = "INSERT INTO mobile_update(cust_id, last_name, first_name, dob) VALUES('$cust_id', '$last_name', '$first_name', '$dob') ON DUPLICATE KEY UPDATE last_name = '$last_name', first_name = '$first_name', dob = '$dob';";
$sql_initial_entry = "UPDATE mobile_update set initial_entry = COALESCE(initial_entry, NOW()) where cust_id = '$cust_id';";
答案 0 :(得分:1)
$ sql_initial_entry包含一个更新语句,该语句仅更改现有行中的值(在前一个语句中创建)。我看不到任何方法可以“结合”。这些查询。我认为唯一可行的策略是将initial_entry(似乎是一个日期/时间戳)设置为自动增量列 - 比如
Impl
自:SQL Auto-Increment by DateTime
这样你只需在insert语句中传递一个null,它就会填充当前的时间戳。 Coalesce只使用备用值处理空值。如果您期望它们,请允许空值。