私のテーブル になるINSERT .. ON DUPLICATE KEY UPDATE
(または) SQLクエリが必要になります。INSERT IGNORE INTO
更新が実際に行われたのか、それとも新しい行が挿入されたのかを知る必要があります。
良い参考文献はこのSO answerでしたが、残念ながら、実行されたアクションに対する答えはありません。
今のところ、私は INSERT .. ON DUPLICATE KEY UPDATE を使用しています:
INSERT INTO `tbl` (`CLIENT_ID`, `COMP_ID`, `DATETIME`) VALUES (12334,32,NOW())
ON DUPLICATE KEY UPDATE
`COMP_ID`=VALUES(`COMP_ID`), `DATETIME`=VALUES(`DATETIME`);";
影響を受けた_行の値を確認してください。
related_rows が 1 の場合 -> 新しい行が挿入される
ことを意味します。 impacted_rows が 2 の場合 -> 行が更新されることを意味します
重複の場合は変更を行わないようにしたいのですが、重複が存在することを知りたいです。
MYSQL の使用