SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#26 07.04.2010 23:49:50

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Ошибка procedure - insert

mysqluser написал:

И более того на консоли идет статистика выполнения не всего кода а его частей, то есть не распознает от BEGIN до END?

Не понял о какой статистике выполнения идет речь.

Что касается ошибки:
http://dev.mysql.com/doc/refman/5.0/en/ … o_db_error
хотя базу вы указываете.

Я рекомендовал бы вам поставить стабильную версию, иначе о замеченных ошибках нужно писать не сюда ,а на http://bugs.mysql.com/

Неактивен

 

#27 08.04.2010 01:12:44

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Ошибка procedure - insert

Ну, Вы пишете не обычный код. В обычном коде перед @sql пишут SET или SELECT.
В обычном коде не делают PREPARE для того, чтобы сделать обычный INSERT,
а просто вставляют. Ну и, разумеется, VALUES пишут с буквой L.

Т.е. после всех улучшений я бы написал Вашу процедуру
таким образом:
CREATE PROCEDURE db1.test1(IN a varchar(20),IN b varchar(20),IN c varchar(20),IN d varchar(20))
INSERT INTO db1.testable(upload_file_save_path,upload_file_name,upload_file_desc,upload_file_cathegory,upload_date,id)
VALUES(a, b, c, d,CURRENT_DATE(),4);

Но тогда теряется обучающий эффект. Если хотите научиться правильно
готовить выражения — попробуйте перепишите через placeholders:

PREPARE stmt FROM "INSERT INTO testable (upload_file_save_path, ...) VALUES (?, ..., ?)";
EXECUTE stmt USING a, b, c, d;

Неактивен

 

#28 08.04.2010 04:10:55

mysqluser
Завсегдатай
Зарегистрирован: 06.04.2010
Сообщений: 31

Re: Ошибка procedure - insert

paulus написал:

Но тогда теряется обучающий эффект. Если хотите научиться правильно
готовить выражения — попробуйте перепишите через placeholders:

PREPARE stmt FROM "INSERT INTO testable (upload_file_save_path, ...) VALUES (?, ..., ?)";
EXECUTE stmt USING a, b, c, d;

Почему-то такой вариант тоже не катит. Выбрасывает ошибка синтаксиса и все sad
Похоже, что я с новой версией мускула поспешил слегка smile

Неактивен

 

#29 08.04.2010 05:37:30

mysqluser
Завсегдатай
Зарегистрирован: 06.04.2010
Сообщений: 31

Re: Ошибка procedure - insert

я хотел поставить версию, что вы рекомендовали  5.1.45, но не нашел здесь http://downloads.mysql.com/archives.php?p=mysql-5.1 такой sad
подскажите где её скачать?

Неактивен

 

#30 08.04.2010 10:38:47

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Ошибка procedure - insert

Неактивен

 

#31 08.04.2010 22:28:06

mysqluser
Завсегдатай
Зарегистрирован: 06.04.2010
Сообщений: 31

Re: Ошибка procedure - insert

Я вот думаю, что если и так и этак не компилится, то это баг или нет? Что думаете?

Неактивен

 

#32 08.04.2010 22:30:20

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Ошибка procedure - insert

Вы о чем?

Неактивен

 

#33 08.04.2010 22:31:37

mysqluser
Завсегдатай
Зарегистрирован: 06.04.2010
Сообщений: 31

Re: Ошибка procedure - insert

О коде smile просто я ещё с 5.5.2 бьюсь - пытаюсь, что-то ещё выправить - нифига не выполняет код
то 42000 то ещё что...

Отредактированно mysqluser (08.04.2010 22:33:12)

Неактивен

 

#34 08.04.2010 23:36:59

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Ошибка procedure - insert

— Приборы!
— 17!
— Что семнадцать?
— А что приборы?

Код 42000 ни о чем не говорит smile

Неактивен

 

#35 09.04.2010 03:42:14

mysqluser
Завсегдатай
Зарегистрирован: 06.04.2010
Сообщений: 31

Re: Ошибка procedure - insert

paulus написал:

— Приборы!
— 17!
— Что семнадцать?
— А что приборы?

Код 42000 ни о чем не говорит smile

ошибка синтаксиса sad А может и нет... что сейчас подумывается, так как говорят, что версия "сырая"
Я поставлю 5.1.45 и уже от этого буду отталкиваться smile
А вот сейчас идет презентация DreamCoder 5.2 - это хороший редактор?

Неактивен

 

#36 09.04.2010 12:24:19

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Ошибка procedure - insert

Не знаю smile

Лично я пользуюсь встроенным в клиент mysql редактором для простых команд и
\e, который открывает vim, для сложных.

Неактивен

 

Board footer

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