是否可以选择名称为字符串的字段?
SELECT 'fieldname' FROM table
我需要这个触发器才能具有动态字段名称
就像是
SET fieldname = NEW.`name`;
UPDATE table SET fieldname = 1 ;
如果该字符串位于您的外部应用程序(如 PHP)中,当然,只需构造 MySQL 语句即可。
如果字符串位于 MySQL 表内,则不能。 MySQL 没有eval()
或这样的功能。以下情况是不可能的:
假设你有一张桌子queries
有一个字段columnname
引用表中的列名之一mytable
。可能还有其他列queries
允许您选择columnname
你要。
INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
但是,您可以与准备好的陈述。请注意,这是非常hacky的。
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)