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

SQLレコードが存在しない場合にのみテーブルに挿入

    これは、これを達成するための簡単な解決策かもしれません:

    INSERT INTO funds (ID, date, price)
    SELECT 23, DATE('2013-02-12'), 22.5
      FROM dual
     WHERE NOT EXISTS (SELECT 1 
                         FROM funds 
                        WHERE ID = 23
                          AND date = DATE('2013-02-12'));
    

    p.s。 または(IDの場合 主キー):

     INSERT INTO funds (ID, date, price)
        VALUES (23, DATE('2013-02-12'), 22.5)
            ON DUPLICATE KEY UPDATE ID = 23; -- or whatever you need
    

    このフィドル を参照してください。 。



    1. Rails + OSX上のMySQL:ライブラリがロードされていません:libmysqlclient.18.dylib

    2. IDをコンマ区切り値として保存する

    3. FETCHALLを使用せずにMYSQLPDOで2回フェッチする方法

    4. 結合基準またはより効率的なwhere句のSQLフィルター基準