gpt4 book ai didi

php - 根据行是否存在更新/插入

转载 作者:行者123 更新时间:2023-11-29 11:57:35 25 4
gpt4 key购买 nike

处理一些 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_typestop_user 然后更新行以填充列 stop 使用 $timestamp 并使用 $user 填充 stop_user 列。

我知道这很复杂。或者,至少对我来说是这样 ^^ 非常感谢您的帮助!

最佳答案

这通常称为 MERGE 或 upsert。 PostgreSQL 没有明确支持此操作。

我见过的关于 PostgreSQL 中 MERGE 主题的最好的文章是 this one by depesz .

关于php - 根据行是否存在更新/插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com