是否可以选择名称为字符串的字段?
SELECT 'fieldname' FROM table
我需要这个触发器来使用动态字段名称
SET fieldname = NEW.`name`;
UPDATE table SET fieldname = 1 ;
Run Code Online (Sandbox Code Playgroud)
Kon*_*rak 23
如果字符串在您的外部应用程序(如PHP)中,请确保构造MySQL语句.
如果字符串在MySQL表中,则不能.MySQL没有eval()或没有这样的功能.以下是不可能的:
假设您有一个表,queries其中的字段columnname引用表中的一个列名mytable.可能还有其他列queries允许您选择所需的列columnname.
INSERT INTO queries (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable
Run Code Online (Sandbox Code Playgroud)
但是,您可以使用PREPARED STATEMENTS.请注意,这非常hacky.
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);
PREPARE stmt FROM @s;
EXECUTE stmt;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36290 次 |
| 最近记录: |