IF ((SELECT param FROM changes WHERE type = 'uptime' AND website_id = 1 ORDER BY timestamp DESC LIMIT 1) != 'up')
INSERT INTO changes (website_id, timestamp, type, param) VALUES (1, NOW(), 'uptime', 'up')
END IF;
이 구문이 잘못된 것 같습니다. 이 쿼리를 단일 쿼리로 어떻게 만들 수 있습니까?INSERT IF 조건이 만 족
이 실제로 아주 잘 작동합니다 : 당신이 이런 식으로 할 경우 쿼리 데이터가 삽입됩니다 뭔가를 반환하는 경우 쿼리는 아무 것도 삽입되지 않을 것 아무 것도 반환하지 않는 경우 당신은 단지, 전체 쿼리를 삽입 할 수 있습니다. 감사! – HyderA
아시다시피, 실제로 ORDER BY가 필요하지 않습니다. 코드에서 삭제했습니다. – Jcis
더 많은 것을 고려해야합니다 : 마지막 레코드 (param!)가 param! = 'up'인지 IF가 확인하는 것을 보았습니다. 그러나이 코드는 param을 검색 할 것입니다! = 'up' 마지막 하나, 내가 무슨 뜻인지 이해 하겠니? 마지막 레코드 (내림차순) 만 확인해야하는 경우이 코드는 현재와 같이 작동하지 않습니다. – Jcis