Назад | Перейти на главную страницу

MySql запрос иногда возвращает null

Я не уверен, что именно вызывает это, но в некоторых случаях запрос mysql, который, как я знаю, должен возвращать результаты, иногда в результате возвращает null. Я видел, как это происходило дважды раньше, но, поскольку я не мог ничего найти в журнале ошибок, я просто обновил все и просто предположил, что теперь все должно быть в порядке, но я только недавно увидел, что та же ошибка повторилась снова. Есть ли причина, по которой Mysql будет возвращать null в результате, даже если запрос должен возвращать фактическое значение? На данный момент я как бы в тупике, и я думаю, может быть, повреждение данных? Не могу найти в Google много информации об этой проблеме, поэтому я решил спросить совета, прежде чем покупать новый жесткий диск для своего компьютера. Мы будем очень признательны за любое понимание этой проблемы, спасибо!

Извините, что опубликовал это ответ, моя репутация недостаточно высока, чтобы оставлять комментарий.

Без более подробной информации по вашему запросу будет сложно дать ответ.

Если запрос такой простой, как «выбрать * из таблицы», было бы странно получать случайные нули.

Если в вашем запросе используется какое-то предложение where, возможно, ваш запрос случайным образом использует неправильное значение. Вам следует попробовать перехватить нулевые ответы и записать запрос, который вы только что пытались выполнить.

Лучше всего включить общий журнал запросов, а затем проверять журнал запросов и журнал ошибок, когда вы получаете неожиданный результат NULL. Чтобы включить общий журнал, установите его в разделе [mysqld] вашего my.cnf.

general_log_file = /path/to/query.log
general_log      = 1

Имейте в виду, что в отличие от бинлога, все запросы записываются в общий журнал, даже запросы SELECT, поэтому журнал может занимать много места. Так что, если вы это сделаете, следите за вещами.

Кроме того, проверьте вывод dmesg на наличие ошибок, связанных с файловой системой.

Хорошо, я понял это. Mysql не был проблемой, как я изначально подозревал. Выполняемый скрипт php возвращает xml-файл, и я использовал firefox для запуска веб-приложения, которое выполняет этот скрипт через запрос ajax. Оказывается, в firefox есть ошибка, которая отправляет несколько запросов ajax, когда он имеет дело с файлами xml, что вызывало обновление базы данных, а затем, когда пришел второй запрос, результат был нулевым (обновление будет отображать результаты запроса как нулевые ). Я исправил это, убедившись, что каждый запрос уникален.

Спасибо всем за помощь!