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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Приложение 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