Я пытаюсь перенести клиентов в новую структуру базы данных.
Я написал скрипт PHP, который просматривает каждую запись и определяет, есть ли у этого клиента дубликаты в базе данных или нет. Если встречается несколько случаев, я обновляю все другие таблицы, связанные с этим клиентом, и обновляю их связанный идентификатор клиента до последней версии этого клиента.
Проблема, с которой я сталкиваюсь, заключается в том, что этот скрипт запускается путем загрузки переноса. php в браузере занимает столько времени, что при его запуске я получаю тайм-аут 504, даже если я запускаю запрос имен клиентов, начинающихся с 'A'. Затем измените на «B» и запустите скрипт, затем «C» и запустите скрипт et c ... (что в любом случае заняло бы целую вечность).
Итак, мой вопрос: как можно ли выполнить около 120 000 запросов UPDATE либо внутри циклов PHP на странице переноса. php и избежать тайм-аута 504 (в настоящее время установлено ограничение 5 минут), либо распечатать запросы и запустить их через PHPMyAdmin?
Я распечатал (фрагмент):
BEGIN;
UPDATE renewal_reminder SET renewalid='49884' WHERE renewalid='43239';
UPDATE renewal_note SET renewalid='49884' WHERE renewalid='43239';
UPDATE renewal_request SET renewalid='49884' WHERE renewalid='43239';
UPDATE renewal_timeline SET renewalid='49884' WHERE renewalid='43239';
COMMIT;
Но это все равно убивает PHPMyAdmin и возвращает ошибку.
Можно ли использовать этот большой список ОБНОВЛЕНИЙ в PHPMyAdmin для запуска сценарий, может быть, в пакетном режиме?