Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: MySQL: создать таблицу с именем, указанным в переменной
цитата
13/01/10 в 13:12
 alexxxus
Добрый день.
Подскажите, пожалуйста, синтаксис использования переменной в названии таблицы.
Т.е. нужно создать таблицу с именем, указанном в переменной.

Пример ниже не работает:



SET @newtablename:='comments';

DROP TABLE IF EXISTS @newtablename;

CREATE TABLE IF NOT EXISTS @newtablename (
`ID` bigint(20) NOT NULL auto_increment,
`email` varchar(255) NOT NULL default '',
`IP` varchar(30) NOT NULL default '',
PRIMARY KEY (`ID`),
KEY `IP` (`IP`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3;


Спасибо.
цитата
13/01/10 в 14:01
 W
Вероятно у юзера нет прав на создание таблицы. смотри grants.
цитата
13/01/10 в 14:08
 alexxxus
Это я на денвере пробывал, если не задавать имя таблицы в переменной, а прописать
словом, то все работает
цитата
13/01/10 в 14:12
 Еugene
ну права юзера это совсем из другой истории icon_smile.gif

тут снизу ответ
http://www.dbforums.com/ansi-sql/681463-stored-procedure-create-table-variable.html
цитата
13/01/10 в 14:18
 W
Извините, если что-то не создается, как правило, нету прав...

upd: в том смысле, что проблема, вероятно и в другом, просто это первое что пришло на ум. icon_cool.gif
цитата
13/01/10 в 14:24
 Еugene
если что-то не создается, как правило, это ошибка синтаксиса icon_smile.gif

при нехватке прав мускул об этом так и говорит и повода топики создавать не даёт.


Эта страница в полной версии