【发布时间】:2012-07-19 11:00:34
【问题描述】:
处理一些 postgreSQL 查询。正如我在上一个问题中所说..我对 SQL 逻辑的了解非常有限..
我有这个插入一行的查询。
$timestamp = date('Y-m-d G:i:s.u');
$check_time = "start"; //can also be stop
$check_type = "start_user"; //can also be stop_user
$insert_query = "INSERT INTO production_order_process_log (
production_order_id,
production_order_process_id,
$check_time,
$check_type)
VALUES (
'$production_order_id',
'$production_order_process_id',
'$timestamp',
'$user')
";
不幸的是,每次都添加一个新行。我想添加条件 SQL 以便
如果 production_order_process_id 不存在,请按照上面查询中的说明执行 INSERT。也就是说,添加包含所有新信息的新行
但如果production_order_process_id 确实存在并且check_type 是stop_user,则更新行以用$timestamp 填充列stop 并用$user 填充列stop_user。
我知道这很复杂。或者,至少对我来说是^^非常感谢您的帮助!
【问题讨论】:
-
标准 SQL 为
MERGE。但我不认为 Postgre 支持它?试试stackoverflow.com/questions/1109061/… -
@podiluska 很快 google 让我觉得可能不太好 :( 还有其他方法吗?我会研究一个 postgresql
MERGE或替代更多..
标签: php sql postgresql