use*_*461 5 mysql variables dynamic
我想使用注册表作为列名,但注册表是可变的,我不知道它何时更改.
例:
Config (field) = 'Medicine'
FieldContent (another field) = 'Remedy name'
Run Code Online (Sandbox Code Playgroud)
想做这个:
Medicine(使用Config的内容作为列名)='Remedy Name'(作为注册表)
我试过了什么?
SET @CONFIG = SELECT CONFIG;
SELECT FIELDCONTENT AS @CONFIG FROM TABLENAME;
Run Code Online (Sandbox Code Playgroud)
MySql说我不能使用变量作为列名.还有其他方法吗?
实际的Config Content Medicine RemedyName
通缉医学
补救名称
谢谢!
我的想法是使用准备好的声明:
SET @config := (SELECT CONFIG FROM yourtable WHERE id=1);
SET @sql := CONCAT('SELECT FIELDCONTENT AS `', @config, '` FROM TABLENAME');
PREPARE stmt FROM @sql;
EXECUTE stmt;
Run Code Online (Sandbox Code Playgroud)