Что ж, я получаю некоторые значения из основной таблицы, скажем MTB
, и суммирую их в другой таблице, скажем STB
, используя этот скрипт. Не существует уникального или первичного ключа, поэтому я не могу использовать здесь ситуацию с DUPLICATE KEY.
Что я хочу сделать, так это если имя узла) выбрано из MTB
Уже существует в STB
Тогда я просто хочу обновить его, и если имя узла из MTB
не существует в STB
затем я хочу вставить данные в таблицу.
Я попытался использовать регистр If, сначала выбрав строку в STB
, используя имя узла, извлеченное из MTB
, что, если имя узла из MTB
присутствует в STB
(т. Е. Запрос выбора не равен 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