gpt4 book ai didi

php - 使用条件逻辑 : check if record exists; if it does, 更新它,如果没有,创建它

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

<分区>

我昨晚问了这个,得到了关于合并的信息(在 postgresql 中没有)。我愿意尝试the workaround suggested但我只是想了解为什么不能用条件逻辑来完成。

我已经稍微澄清了这个问题,所以也许这会更容易理解。

我有一个将数据插入表中的查询。但它每次都在创造新的记录。有没有一种方法可以先检查该行是否存在,如果存在,则UPDATE,如果不存在,则INSERT

$user = 'username';
$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')";

想法是该表将记录 checkin 和 checkout 值(production_order_process_log.startproduction_order_process_log.stop)。因此,在创建带有 checkout 时间戳的记录之前,查询应该检查 $production_order_process_id 是否已经存在。如果它确实存在,那么时间戳可以进入stop并且$check_type可以是stop_user。否则,他们可以保持 startstart_user

我基本上是想避免这个结果。

+----+---------------------+--------------------------------+--------------------+-------------------+-------------+-------------+
| id | production_order_id | production_order_process_id | start | stop | start_user | stop_user |
+----+---------------------+--------------------------------+--------------------+-------------------+-------------+-------------+
| 8 | 2343 | 1000 | 12 july 03:23:23 | NULL | tlh | NULL |
+----+---------------------+--------------------------------+--------------------+-------------------+-------------+-------------+
| 9 | 2343 | 1000 | NULL | 12 july 03:45:00 | NULL | tlh |
+----+---------------------+--------------------------------+--------------------+-------------------+-------------+-------------+

非常感谢你帮我弄清楚 postgresql 逻辑来完成这项任务。

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