處理一些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
,並填寫列stop_user
與$user
。
我知道這很複雜..或者,至少對我來說是^^非常感謝您的幫助!
標準SQL將是'MERGE'。但我不認爲Postgre支持它?嘗試http://stackoverflow.com/questions/1109061/insert-on-duplicate-update-postgresql – podiluska 2012-07-19 11:03:26
@podiluska很快谷歌讓我覺得也許不是那麼好:(有沒有其他的方式?我會研究一個postgresql' MERGE'或替代更多.. – 1252748 2012-07-19 11:05:56
重複的問題:http://stackoverflow.com/questions/1109061/insert-on-duplicate-update-postgresql – 2012-07-19 11:12:32