MySQL — может ‘INSERT INTO — ON DUPLICATE KEY UPDATE’ вызвать потерю данных

У меня есть сценарий кэширования, который запрашивает кучу данных из SOAP API, используя PHP (работа Cron каждые 5 минут). Этот скрипт запрашивает и хранит клиента id а также name,

Таблица, в которой хранится информация об API, имеет 3 столбца:

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

Есть около 10 (из 80) клиентов с булом paying установите в true. Тем не менее, время от времени все клиенты paying столбцы возвращаются к 0,

Итак … Может ли следующий запрос вызвать paying колонку менять при каких обстоятельствах?

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

1

Решение

Этот запрос не может изменить состояние поля «оплата».

Поэтому, скорее всего, причина в каком-то другом коде, который либо устанавливает значение в 0, либо просто удаляет все записи.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]