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

SQL-IF EXISTS UPDATE ELSE INSERT INTO

    1. UNIQUEを作成します 制約 subs_emailに 列(まだ存在しない場合):

      ALTER TABLE subs ADD UNIQUE (subs_email)
      
    2. INSERT ... ON DUPLICATE KEY UPDATE>

      INSERT INTO subs
        (subs_name, subs_email, subs_birthday)
      VALUES
        (?, ?, ?)
      ON DUPLICATE KEY UPDATE
        subs_name     = VALUES(subs_name),
        subs_birthday = VALUES(subs_birthday)
      

    UPDATE句でVALUES(col_name)関数を使用して、INSERT ... ONDUPLICATEKEYUPDATEのINSERT部分の列値を参照できます- dev.mysql.com

    1. 文字列リテラルの代わりにパラメータプレースホルダーを使用していることに注意してください。本当に SQLインジェクション攻撃から身を守る ためにパラメータ化されたステートメントを使用する必要があります 。


    1. SQLiteOpenHelperを使用してAndroidでsqliteデータベースをアタッチする

    2. 複合PRIMARYKEYは、関連する列にNOTNULL制約を適用します

    3. pg_stat_activityの使い方は?

    4. FLOSSUK春の会議