sql >> Database >  >> RDS >> Mysql

MySQL:voeg geen nieuwe rij in als gedefinieerde rijen hetzelfde zijn

De vorige waarden zullen niet hetzelfde zijn, want de tijd is anders. Helaas.

U kunt dit doen met behulp van de insert . . . select syntaxis. Het idee is om de laatst ingevoegde rij te selecteren en een where . te gebruiken clausule om de rijen te filteren. Het filter retourneert geen rijen (en dus geen invoeging) wanneer de waarden hetzelfde zijn:

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;


  1. Fout bij verbinden met database:(gebruik klasse org.gjt.mm.mysql.Driver) De instructie (1) heeft geen open cursor

  2. SQL SERVER – SQL_NO_CACHE en OPTIE (RECOMPILE)

  3. Een Presto-database verbinden met MySQL

  4. ERRO 1215. MySql InnoDB