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

MySQL-挿入エラーを無視します:重複エントリ

    INSERT ...IGNORE を使用できます レコードが重複しているときにアクションを実行しない場合の構文。

    REPLACEINTO を使用できます 古いレコードを同じキーの新しいレコードで上書きする場合の構文。

    または、 INSERT ...ONDUPLICATEを使用できます。キーアップデート 重複が発生したときに代わりにレコードの更新を実行する場合は、構文。

    編集:いくつかの例を追加すると思いました。

    tblという名前のテーブルがあるとします 2つの列、id およびvalue 。 id=1とvalue=1の1つのエントリがあります。次のステートメントを実行する場合:

    REPLACE INTO tbl VALUES(1,50);
    

    id =1 value=50のレコードがまだ1つあります。ただし、レコード全体が最初に削除され、次に再挿入されたことに注意してください。次に:

    INSERT IGNORE INTO tbl VALUES (1,10);
    

    操作は正常に実行されますが、何も挿入されません。あなたはまだid=1とvalue=50を持っています。最後に:

    INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;
    

    これで、id=1およびvalue=200の単一のレコードが作成されました。



    1. ヒントと例で説明されたOracleCaseステートメント

    2. PHPからOracleデータベースに接続する方法

    3. Oracle Floats vs Number

    4. androidのSqliteからのListView