Если вы не хотите хранить таблицу в базе данных, @Evan Todd уже предоставил временное решение для таблицы.
Но если вам нужна эта таблица для других пользователей и вы хотите сохранить ее в db, вы можете использовать следующую процедуру.
Создать ниже «хранимую процедуру»:
------------
DELIMITER $$
USE `test`$$
DROP PROCEDURE IF EXISTS `sp_variable_table`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_variable_table`()
BEGIN
SELECT CONCAT(‘zafar_’,REPLACE(TIME(NOW()),’:',’_')) INTO @tbl;
SET @str=CONCAT(“create table “,@tbl,” (pbirfnum BIGINT(20) NOT NULL DEFAULT ’0′, paymentModes TEXT ,paymentmodeDetails TEXT ,shippingCharges TEXT ,shippingDetails TEXT ,hypenedSkuCodes TEXT ,skuCodes TEXT ,itemDetails TEXT ,colorDesc TEXT ,size TEXT ,atmDesc TEXT ,promotional TEXT ,productSeqNumber VARCHAR(16) DEFAULT NULL,entity TEXT ,entityDetails TEXT ,kmtnmt TEXT ,rating BIGINT(1) DEFAULT NULL,discount DECIMAL(15,0) DEFAULT NULL,itemStockDetails VARCHAR(38) NOT NULL DEFAULT ”) ENGINE=INNODB DEFAULT CHARSET=utf8″);
PREPARE stmt FROM @str;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SELECT ‘Table has been created’;
END$$
DELIMITER ;
----------------
Теперь вы можете выполнить эту процедуру для создания таблицы имен переменных, как показано ниже -
вызов sp_variable_table ();
Вы можете проверить новую таблицу после выполнения команды ниже -
использовать тест; показывать таблицы типа "% zafar%"; - здесь тест - имя базы данных.
Вы также можете проверить более подробную информацию по следующему пути-
http://mydbsolutions.in/how-can-create-a-table-with-variable-name/