sql >> データベース >  >> RDS >> Mysql

MySQL:定義された行が同じ場合は、新しい行を挿入しないでください

    以前の値はありません 時間が違うので同じになります。ああ。

    これは、insert . . . select 構文。アイデアは、挿入された最後の行を選択し、whereを使用することです。 行をフィルタリングする句。値が同じである場合、フィルターは行を返しません(したがって、挿入も返しません)。

    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. ON DUPLICATEKEYUPDATEから挿入/更新行の数を取得する

    2. CSVファイルを使用してMySQLテーブルを更新する

    3. ユーザーが同じレコードを編集できないようにする

    4. mysqlは、要約も使用しながらすべての行を取得します