Я делаю SELECT * FROM db1 . запись, где entry_id не в ( выберите entry_id из db2 . content ) g некоторые работы для сайта в среде общего хостинга, у которой есть история изменения настроек на нас. На этой неделе скрипт обновления внезапно прекратил работу, и основная причина заключается в том, что предложение NOT IN, которое использовалось для возврата результатов, больше не делает этого.
По сути, запрос заключается в следующем:
SELECT *
FROM db1.entry
order by entry_id desc
SELECT *
FROM db2.content
order by entry_id desc
Я могу проверить, что действительно есть записи, которые должны быть возвращены путем непосредственного контроля двух таблиц. При запуске ниже двух запросов первый возвращает entry_ids, который второй не выполняет:
NULL
И для повторной итерации все это работало корректно в течение нескольких месяцев. Никаких изменений кода не было, но возможно, что настройка MySQL была изменена на этом пути. Также возможно, что что-то изменилось в среде PHP, но это кажется менее вероятным, поскольку рассматриваемый запрос терпит неудачу таким же образом, когда он запускается из phpMyAdmin, как это происходит при запуске с живого сайта.
И, конечно же, он по-прежнему отлично работает на моей dev-боксе.
На сайте live работает версия MySQL 4.1.11. Мой вопрос в том, знает ли кто-нибудь о настройке MySQL для этой версии, которая изменит способ работы этих запросов NOT IN?
Благодарю.
php,mysql,