2013-11-16 2 views
4

Я хочу использовать реестр в качестве имени столбца, но реестр является переменным, и я не знаю, когда он изменяется.MySQL - Как использовать переменную как имя столбца

Пример:

Config (field) = 'Medicine' 
FieldContent (another field) = 'Remedy name' 

хочет сделать это:

медицина (использование содержания Config в качестве имени столбца) = 'Remedy Name' (как реестр)

Что я попытался ?

SET @CONFIG = SELECT CONFIG; 

SELECT FIELDCONTENT AS @CONFIG FROM TABLENAME; 

MySql говорит, что я не могу использовать переменную в качестве имени столбца. Есть другой способ?

фактической конфигурации Content Медицина RemedyName

Требуются Медицина
RemedyName

Спасибо!

ответ

8

Моя идея заключается в том, чтобы использовать подготовленное заявление:

SET @config := (SELECT CONFIG FROM yourtable WHERE id=1); 
SET @sql := CONCAT('SELECT FIELDCONTENT AS `', @config, '` FROM TABLENAME'); 

PREPARE stmt FROM @sql; 
EXECUTE stmt; 
Смежные вопросы