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


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

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

存储API信息的表有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,或者只是删除所有记录。