Die vorherigen Werte werden nicht gleich sein, weil die Zeit anders ist. Leider.
Sie können dies mit insert . . . select
Syntax. Die Idee ist, die zuletzt eingefügte Zeile auszuwählen und ein where
zu verwenden -Klausel zum Filtern der Zeilen. Der Filter gibt keine Zeilen (und daher keine Einfügung) zurück, wenn die Werte gleich sind:
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;