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

INSERT INTO ... SELECT FROM ... ON DUPLICATE KEY UPDATE

    MySQLは、equalsの前の部分がINSERT INTO句で指定された列を参照し、2番目の部分がSELECT列を参照すると想定します。

    INSERT INTO lee(exp_id, created_by, location, animal, starttime, endtime, entct, 
                    inact, inadur, inadist, 
                    smlct, smldur, smldist, 
                    larct, lardur, lardist, 
                    emptyct, emptydur)
    SELECT id, uid, t.location, t.animal, t.starttime, t.endtime, t.entct, 
           t.inact, t.inadur, t.inadist, 
           t.smlct, t.smldur, t.smldist, 
           t.larct, t.lardur, t.lardist, 
           t.emptyct, t.emptydur 
    FROM tmp t WHERE uid=x
    ON DUPLICATE KEY UPDATE entct=t.entct, inact=t.inact, ...
    


    1. 同じテーブルの2つの行を比較する方法

    2. Oracle D2k、Oracle Forms 10g、OracleForms6iで添付ファイル付きの電子メールを送信する

    3. mysqldumpのベストプラクティス:パート1 –MySQLの前提条件

    4. SQLServerで現在の合計を計算する