我将需要一个可以INSERT .. ON DUPLICATE KEY UPDATE
(或INSERT IGNORE INTO
)我的表的 SQL 查询。
我需要知道是否确实发生了更新,或者是否插入了新行。
一个很好的参考是这个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`);";
并检查affected_rows 值。
如果affected_rows 等于1,意味着-> 插入新行
如果affected_rows 等于2,意味着-> 行更新
如果出现重复,我不希望发生任何变化,但我想知道存在重复。
使用 MYSQL