Работающий MySQL Query терпит неудачу в Perl - PullRequest
0 голосов
/ 07 марта 2011

У меня есть запрос, который при запуске изнутри phpMyAdmin работает, однако при интеграции в веб-сайт, написанный на Perl, он не работает и выдает ошибки. Оба запускаются с подключением к одной и той же базе данных, и со стороны кодирования / форматирования, когда они интегрированы в Веб-сайт, все правильно и так же, как и другие запросы.

Любая помощь с этим будет высоко ценится - Спасибо!

MySQL Query:

CREATE TEMPORARY TABLE tmp_lecture_days (
timeslot_id int(50)
);
INSERT INTO tmp_lecture_days (timeslot_id)
SELECT DISTINCT tab_appointment.timeslot_id
FROM tab_appointment WHERE lecture_id = '1115';
SELECT COUNT(timeslot_id)
FROM tmp_lecture_days;

MySQL Query в Perl:

            $query
                = &statement_database(
                    "CREATE TEMPORARY TABLE tmp_lecture_days (
                    timeslot_id int(50)
                    );
                    INSERT INTO tmp_lecture_days (timeslot_id)
                    SELECT DISTINCT tab_appointment.timeslot_id
                    FROM tab_appointment WHERE lecture_id = '1115';
                    SELECT COUNT(timeslot_id)
                    FROM tmp_lecture_days;");

             my ($days) = $query->fetchrow_array;

Журнал ошибок:

7.3.2011 10:14:12 error У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '; 7.3.2011 10:14:12 ошибка INSERT INTO tmp_lecture_days (timeslot_id) 7.3.2011 10:14:12 ошибка SELECT DISTINCT tab_appoi 'в строке 3

Ответы [ 2 ]

8 голосов
/ 07 марта 2011

Если вы используете DBI для выполнения запроса, вам не разрешено помещать в него более одного оператора. Попробуйте поместить CREATE TABLE ... в один запрос и INSERT ... в другой.

3 голосов
/ 07 марта 2011

Я думаю, что следующий запрос эквивалентен 3 запросам:

SELECT COUNT(DISTINCT timeslot_id) FROM tab_appointment
    WHERE lecture_id = '1115'

Для более подробной информации, обратитесь к справочному руководству MySQL для COUNT () здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...