П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 180587 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 79039 раз(а).

Учебник HTML.
Просмотров 75806 раз(а).

Руководство по PHP5.
Просмотров 46847 раз(а).

Хостинг через призму DNS.
Просмотров 54312 раз(а).

Подборка текстов стандартных документов.
Просмотров 46682 раз(а).

Учебник PHP - Самоучитель
Просмотров 52889 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 53498 раз(а).

Внешние атаки...
Просмотров 43249 раз(а).

Учебник PHP.
Просмотров 38777 раз(а).

SSI в примерах.
Просмотров 28689 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Приложение A. Проблемы и распространенные ошибки
Пред.     След.

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

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

  1. Проверьте запрос с помощью EXPLAIN и посмотрите, не присутствуют ли в нем явно неправильные записи (see Раздел 5.2.1, «Синтаксис оператора EXPLAIN (получение информации о SELECT).

  2. Выберите только поля, используемые в выражении WHERE.

  3. По одной убирайте из запроса таблицы до тех пор, пока не станут возвращаться какие-нибудь строки. Если таблицы большие, то в запросе имеет смысл использовать LIMIT 10.

  4. Выполните SELECT для столбца, который должен был дать совпадение строки с последней исключенной из запроса таблицей.

  5. Если столбцы типа FLOAT или DOUBLE сравниваются с имеющими дробную часть числами, то нельзя использовать "=". Это распространенная проблема в большинстве компьютерных языков, поскольку значения с плавающей запятой не являются точными. В большинстве случаев проблему решает изменение FLOAT на DOUBLE. See Раздел A.5.7, «Проблемы со сравнением чисел с плавающей точкой».

  6. Если так и не удалось выяснить, в чем загвоздка, то для демонстрации возникших у вас проблем создайте минимальный тест, запускающийся при помощи mysql test < query.sql. Тестовый файл можно создать, воспользовавшись mysqldump --quick database tables > query.sql. Далее откройте файл в редакторе, удалите некоторые команды вставки (если их слишком много) и добавьте в конце файла свою команду выборки. Убедитесь, что проблема по-прежнему проявляется, посредством:

    shell> mysqladmin create test2
    shell> mysql test2 < query.sql
    

    Используя mysqlbug, пошлите тестовый файл в список рассылки на .


Назад Начало Главы Начало Раздела Вперед

Пред. Глава След. Глава
Глава 9. Расширение MySQL Начало Книги Приложение B. Error Codes and Messages


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru