Les valeurs précédentes ne seront pas être le même, parce que le temps est différent. Hélas.
Vous pouvez le faire en utilisant le insert . . . select
syntaxe. L'idée est de sélectionner la dernière ligne insérée et d'utiliser un where
clause pour filtrer les lignes. Le filtre ne renverra aucune ligne (et donc aucune insertion) lorsque les valeurs sont les mêmes :
insert into AeroSamples(temperature, pressure, humidity)
select :t, :p, :h
from (select temperature, pressure, humidity
from AeroSamples
order by id desc
limit 1
) as1
where as1.temperature <> :t or as1.pressure <> :p or as1.humidity <> :h;