MySQL - 'INSERT INTO - ON DUPLICATE KEY UPDATE' 会导致数据丢失

MySQL - Can 'INSERT INTO - ON DUPLICATE KEY UPDATE' cause data loss

我有一个缓存脚本,它使用 PHP 从 SOAP API 请求一堆数据(每 5 分钟执行一次 Cron 作业)。此脚本请求并存储客户 idname.

存储API信息的table有3列:

'id' = int, Primary_key
'name' = varchar(255)
'paying' = bool

大约有 10 名(80 名)客户的 bool paying 设置为 true。但是,每隔一段时间,所有客户的 paying 列都会恢复为 0

所以...下面的查询是否会导致 paying 列在任何情况下都发生变化?

INSERT INTO customer(`id`, `name`) VALUES ('$escapedId','$escapedName') ON DUPLICATE KEY UPDATE `name`='$escapedName'

此查询无法更改 'paying' 字段状态。

因此,最有可能的原因是某些其他代码将值设置为 0,或者只是删除了所有记录。