Задавайте вопросы, мы ответим
Вы не зашли.
Народ плз. Подскажите, что не так уже совсем умаялся, а она всё непашет
Выдаёт ошибку: Explicit or implicit commit is not allowed in stored function or trigger.:
Отредактированно alexeews (07.02.2009 12:31:24)
Неактивен
http://dev.mysql.com/doc/refman/5.1/en/ … table.html
CREATE TABLE does not automatically commit the current active transaction if you use the TEMPORARY keyword.
Кроме того у вас будет создана таблица с именем "new_table-name", а не с тем значением, которое принимает эта переменная. Для преодоления этой трудности нужно использовать подготовленные выражения, см тему http://sqlinfo.ru/forum/viewtopic.php?id=363
Однако, подготовленные выражения можно использовать в хранимых процедурах, но не функциях.
Неактивен
c CREATE TABLE, разобрался спс. Но назрел ещё один вопрос в запросах вместо переданных параметоров (таких как table_name и т.д.) используются не значения, а именно строки т.е. table_name так и подставляется как table_name, а не как переменная, то возможно исправить в функцииях?
Неактивен
Единственный способ - использовать подготовленные выражения, но это можно сделать только в процедурах.
Неактивен
Спасибо, за ответ, решил задачу в лоб, просто переложил формирование кода MySQL функций на пых. Жаль, что красиво сделать не получилось.
Неактивен