SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 12.06.2008 04:13:38

Flector
Участник
Зарегистрирован: 12.06.2008
Сообщений: 1

проблема с неработающим запросом в MySQL: 5.0.45

есть плагин для WordPress XmasB Quotes, он у меня работает превосходно на localhost с MySQL: 5.0.33, но когда я переношу его к хостеру с MySQL: 5.0.45 он вызывает ошибку. вот текст ошибки:

Код:

[Tue Jun 10 12:51:07 2008] [error] WordPress database error You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘SELECT FLOOR(MAX(ID)*RAND()) AS ID FROM wp_xmasb_quotes) AS x O for query SELECT * FROM wp_xmasb_quotes T JOIN (SELECT FLOOR(MAX(ID)*RAND()) AS ID FROM wp_xmasb_quotes) AS x ON T.ID >= x.ID and visible = 1 LIMIT 1 made by xmasb_get_random_quote

понятно, что ошибку вызывает запрос:

Код:

$sql = 'SELECT * FROM ' . XMASB_QUOTES_TABLE . ' T JOIN (SELECT FLOOR(MAX(ID)*RAND()) AS ID FROM ' . XMASB_QUOTES_TABLE . ') AS x ON T.ID >= x.ID and visible = 1 LIMIT 1';

я списался с автором плагина, но у него MySQL вообще версии 4.1.21 и он не может понять, что в этом запросе неправильно. все, что он посоветовал это перейти на другую версию плагина, где этот запрос выполнен по-другому - "неэффективно" типа

Код:

sql = "SELECT * FROM " . XMASB_QUOTES_TABLE . " where visible = 1 ORDER BY RAND() limit 1"; //Ineffective code

так, конечно, работает, но не хотелось бы пользоваться неэффективным кодом, да и при выходе каждой новой версии плагина ручками менять запрос ломает. отсюда вопрос - в чем различие между MySQL: 5.0.33, на котором запрос работает и MySQL: 5.0.45, в котором запрос не работает? и можно ли как-нибудь поправить этот запрос, чтобы он работал?

Неактивен

 

#2 15.06.2008 02:00:07

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: проблема с неработающим запросом в MySQL: 5.0.45

Приведите пожалуйста структуру таблицы чтобы можно было повторить ошибку (SHOW CREATE TABLE имя_таблицы)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson