MySQL - 'INSERT INTO - ON DUPLICATE KEY UPDATE' 会导致数据丢失
MySQL - Can 'INSERT INTO - ON DUPLICATE KEY UPDATE' cause data loss
我有一个缓存脚本,它使用 PHP 从 SOAP API 请求一堆数据(每 5 分钟执行一次 Cron 作业)。此脚本请求并存储客户 id
和 name
.
存储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,或者只是删除了所有记录。
我有一个缓存脚本,它使用 PHP 从 SOAP API 请求一堆数据(每 5 分钟执行一次 Cron 作业)。此脚本请求并存储客户 id
和 name
.
存储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,或者只是删除了所有记录。