Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

phpMyAdmin не создает cторед процедуру

1.8K
06 августа 2007 года
pod
144 / / 05.04.2006
залил базу на сервер, все выполнилос хорошо кроме создании сторедов,
наглухо отказываетса их создавать выдает следующие ошибки:
Код:
CREATE PROCEDURE `AddFile`(IN in_file_id BIGINT, IN in_file_name TEXT, IN in_real_name TEXT, IN in_desc TEXT, OUT out_success BIGINT)
    DETERMINISTIC  
BEGIN

IF (in_file_id <> 0) AND (in_file_id IS NOT NULL) THEN
     INSERT INTO `file`(file_id,file_name,real_name,description) VALUES (in_file_id,in_file_name,in_real_name,in_desc);
     IF (ROW_COUNT() <> 0 ) THEN
         SET out_success = in_file_id;
     ELSE
         SET out_success = 0;
     END IF;
ELSE
   INSERT INTO `file`(file_name,real_name,description) VALUES (in_file_name,in_real_name,in_desc);
   SET out_success = LAST_INSERT_ID();
END IF;

END;


#1064 - 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 'INSERT INTO `file`(file_id,file_name,real_name,description) VALUES (in_file_id,i' at line 6


а код на 100% рабочи, на локалке все пашет
337
06 августа 2007 года
shine
719 / / 09.06.2006
Проблема с символами окончания строк. MySQL на твоем хостинге воспринимает все то что ты туда пихаешь как набор команд а не как одну команду по созданию ХП. Так происходит из-за того что он воспринимает точку с запятой внутри тела ХП как символ окончания самой команды по созданию ХП.

Первая твоя команда получается такой:
 
Код:
CREATE PROCEDURE `AddFile`(IN in_file_id BIGINT, IN in_file_name TEXT, IN in_real_name TEXT, IN in_desc TEXT, OUT out_success BIGINT)
    DETERMINISTIC  
BEGIN

IF (in_file_id <> 0) AND (in_file_id IS NOT NULL) THEN
     INSERT INTO `file`(file_id,file_name,real_name,description) VALUES (in_file_id,in_file_name,in_real_name,in_desc);


Эта фигня фиксится заменой символа окончания строки внутри твоей ХП. Подробности ищи в мануалах.
1.8K
07 августа 2007 года
pod
144 / / 05.04.2006
спасобо болшое за совет, нашел хоть в чем разбиратса!
я использовал алтернативны путь созданиа ХП. я запустил скрипт создания процедуры через пхп, и все срабталло!
нуи металолом етот phpMyAdmin. он всетоки не показывает что у него ест ети процедуры
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог