【问题标题】:MySQL - How to use a variable as column nameMySQL - 如何使用变量作为列名
【发布时间】:2013-11-29 22:22:56
【问题描述】:

我想使用注册表作为列名,但是注册表是可变的,我不知道它什么时候会改变。

例子:

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

一个想做这个的人:

Medicine (使用 Config 的内容作为列名) = 'Remedy Name' (作为注册表)

我尝试了什么?

SET @CONFIG = SELECT CONFIG;

SELECT FIELDCONTENT AS @CONFIG FROM TABLENAME;

MySql 说我不能使用变量作为列名。还有其他方法吗?

实际配置内容 药物名称

通缉药品
补救措施名称

谢谢!

【问题讨论】:

    标签: mysql variables dynamic


    【解决方案1】:

    我的想法是使用准备好的语句:

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

    【讨论】:

      猜你喜欢
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多