sql >> Databáze >  >> RDS >> Mysql

MySQL:Nevkládejte nový řádek, pokud jsou definované řádky stejné

Předchozí hodnoty nebudou být stejný, protože doba je jiná. Bohužel.

Můžete to udělat pomocí insert . . . select syntax. Cílem je vybrat poslední vložený řádek a použít where klauzule pro filtrování řádků. Pokud jsou hodnoty stejné, filtr nevrátí žádné řádky (a tedy ani vložení):

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. Syntaxe MySQL při vytváření cizího klíče

  2. Vložte konkrétní ID do automaticky inkrementovaného pole v MySQL s Entity Framework 5

  3. Nejlepší databázové blogy ke sledování

  4. MySQL OPTIMALIZOVAT všechny tabulky?