ХОСТИНГ

99mb.ru

ТАРИФЫРЕГИСТРАЦИЯСТАТЬ ПАРТНЕРОМПОДДЕРЖКА

Документация MySQL


A.5.5 Удаление строк из взаимосвязанных таблиц Оглавление A.5.7 Проблемы со сравнением чисел с плавающей точкой


A.5.6 Решение проблем с отсутствием строк, удовлетворяющих условиям поиска

Если сложный запрос на множестве таблиц совсем не возвращает строк, то для выяснения причин его неуспешного выполнения необходимо выполнить следующую последовательность действий:

  • Проверьте запрос с помощью EXPLAIN и посмотрите, не присутствуют ли в нем явно неправильные записи (see section 5.2.1 Синтаксис оператора EXPLAIN (получение информации о SELECT)).
  • Выберите только поля, используемые в выражении WHERE.
  • По одной убирайте из запроса таблицы до тех пор, пока не станут возвращаться какие-нибудь строки. Если таблицы большие, то в запросе имеет смысл использовать LIMIT 10.
  • Выполните SELECT для столбца, который должен был дать совпадение строки с последней исключенной из запроса таблицей.
  • Если столбцы типа FLOAT или DOUBLE сравниваются с имеющими дробную часть числами, то нельзя использовать `='. Это распространенная проблема в большинстве компьютерных языков, поскольку значения с плавающей запятой не являются точными. В большинстве случаев проблему решает изменение FLOAT на DOUBLE. See section A.5.7 Проблемы со сравнением чисел с плавающей точкой.
  • Если так и не удалось выяснить, в чем загвоздка, то для демонстрации возникших у вас проблем создайте минимальный тест, запускающийся при помощи mysql test < query.sql. Тестовый файл можно создать, воспользовавшись mysqldump --quick database tables > query.sql. Далее откройте файл в редакторе, удалите некоторые команды вставки (если их слишком много) и добавьте в конце файла свою команду выборки. Убедитесь, что проблема по-прежнему проявляется, посредством: shell> mysqladmin create test2 shell> mysql test2 < query.sql Используя mysqlbug, пошлите тестовый файл в список рассылки на mysql@lists.mysql.com.
    A.5.5 Удаление строк из взаимосвязанных таблиц Оглавление A.5.7 Проблемы со сравнением чисел с плавающей точкой


    Документация Apache
    Документация MySQL
    Документация PHP






  • Всего за $ 9,99 в месяц Вы получаете качественный хостинг, множество полезных сервисов и возможность участия в партнерской программе.

    Зарабатывайте на нас деньги!

     

    Также только у нас Вы можете воспользоваться уникальной акцией: