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

mysql条件付き挿入-存在しない場合は挿入

    REPLACEを使用する -INSERTとまったく同じように機能しますが、テーブル内の古い行がPRIMARY KEYまたはUNIQUEインデックスの新しい行と同じ値である場合、新しい行が挿入される前に古い行が削除されます。

    http://dev.mysql.com/doc/refman/5.0 /en/replace.html

    -- For your example query
    REPLACE INTO table_name(name, value, id) VALUES
    ('phill', 'person', 12345) 
    

    編集:REPLACEは使用できないため、別のオプションは次のとおりです。テーブルデータの制約インデックス(主キー、一意性)を設定し、INSERT IGNORE

    を使用します。
    INSERT IGNORE INTO table_name
    SET name = 'phill',
        value = 'person',
        id = 12345;
    


    1. PostgreSQL8.3以降の全文検索

    2. SQLでINNERJOINを使用する方法

    3. 整合性制約違反:1452子行を追加または更新できません:

    4. 'in'句はOracleでどのように機能しますか