2015-03-29 2 views
0

Как включить переменную в запрос таблицы создания (файл .sql)? Я пробовал все, что мне известно, но он просто устанавливает имя @variable как имя таблицы вместо фактической переменной.Запрос MySQL, создать таблицу с переменной

(т.е. он устанавливает @preset как имя вместо "cart_")

SET @Preset='cart_'; 

CREATE TABLE IF NOT EXISTS `@preset,Customer` (.... 
+0

Вы можете использовать '' prepare' и exec'. Однако в большинстве случаев это действие указывает на плохой дизайн базы данных. Вероятно, вы должны иметь префикс в качестве столбца в таблице и хранить все в одной таблице. –

ответ

0

Вам нужно динамический SQL. Чтобы сделать это, вы будете иметь, чтобы использовать prepared statements

попробовать что-то вроде:

SET @SQL = CONCAT('CREATE TABLE ',CONCAT('cart_',customer), ..; 
PREPARE stmt FROM @SQL; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 
Смежные вопросы