''而非NULL)WHERE條件**無匹配行**SET abc='123' WHERE abc='123')返回Query OK, 0 rows affected,不報錯。
mysql_options(MYSQL_REPORT_DATA_TRUNCATION)或JDBCuseAffectedRows=false含TIMESTAMP列的表,**任意列更新**均觸發該列自動刷新為當前時間(除非顯式SET ts=ts)。
| 維度 | UPDATE | REPLACE |
|---|---|---|
| 無匹配行 | 無操作 | 插入新行 |
| 有匹配/衝突 | 部分列更新 | **刪除舊行+插入新行**(全列覆蓋) |
| 主鍵/唯一索引 | 無要求 | **必須有且不允許NULL** |
| 特性 | DELETE | TRUNCATE TABLE |
|---|---|---|
| 可帶WHERE | 是 | 否(全表清空) |
| 返回刪除行數 | 是 | 否(返回0) |
| 速度 | 慢(逐行/索引) | 極快(Drop+重建) |
| 自增列重置 | 否(除非WHERE 1全掃) | **是,歸1** |
| 觸發器 | 觸發 | **不觸發** |