gpt4 book ai didi

php - 我可以将 SELECT 查询放入 MySQL 的 IF 语句中吗?

转载 作者:行者123 更新时间:2023-11-29 09:41:15 26 4
gpt4 key购买 nike

嗯,我从主表(例如 MTB)中获取一些值,并使用此脚本将其汇总到另一个表(例如 STB)中。没有唯一键或主键,因此我不能在此处使用重复键情况。

我想要做的是,如果从MTB获取的节点名称已经存在于STB中,那么我只想更新它,如果节点名称来自STB 中不存在 MTB 那么我想将数据插入到表中。

我尝试使用 If 情况,首先使用从 MTB 获取的节点名选择 STB 中的行,如果来自 MTB 的节点名code> 存在于 STB 中(即选择查询 IS NOT NULL),然后我们更新它,否则我们插入它。

但是,这不起作用。请指出我做错了什么。


IF (SELECT * FROM `NodesInfo` WHERE `Nodename` = '".$row2['nodeName']."') IS NOT NULL

THEN
UPDATE `NodesInfo` SET `Time Stamp`= '".$row2['timeStamp']."',`Status`= '$status' WHERE `Nodename` = '".$row2['nodeName']."'

ELSE

INSERT INTO `NodesInfo`(`Nodename`, `Category`, `Time Stamp`, `Type`, `Status`) VALUES ('".$row2['nodeName']."','NodeMCUMQTTData','".$row2['timeStamp']."','$type','$status')

END IF

最佳答案

只要看下面的代码,就可以了。对于 MYSQL:

$qry = mysqli_query(<set your db connection variable>, "SELECT * FROM `NodesInfo` WHERE nodeName` = '".$row2['nodeName']."' ");
$res = mysqli_num_rows($qry);

if($res > 0)
{
$update_qry = mysqli_query(<set your db connection variable>, "UPDATE `NodesInfo` SET `Time Stamp`= '".$row2['timeStamp']."',`Status`= '$status' WHERE nodeName` = '".$row2['nodeName']."'");
}
else
{
$insert_qry = mysqli_query(<set your db connection variable>, "INSERT INTO `NodesInfo`(`Nodename`, `Category`, `Time Stamp`, `Type`, `Status`) VALUES ('".$row2['nodeName']."','NodeMCUMQTTData','".$row2['timeStamp']."','$type','$status')");
}

关于php - 我可以将 SELECT 查询放入 MySQL 的 IF 语句中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56574149/

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