MySQL中基于变量的动态字段选择
在数据库编程中经常需要根据变量值动态选择字段。这在字段名称未知或动态变化的情况下特别有用。
使用字符串变量进行字段选择
问题:是吗可以选择名称存储在字符串变量中的字段MySQL?
SELECT 'fieldname' FROM table;
答案:是的,可以使用字符串变量动态构造 MySQL 语句:
SET @fieldname = 'name'; SELECT @fieldname FROM table;
动态更新使用字段变量
问题:如何我可以使用代表 MySQL 中字段名称的变量对表执行更新吗?
SET fieldname = NEW.`name`; UPDATE table SET fieldname = 1;
答案: 在 MySQL 中不可能使用任意字符串作为字段名称直接地。但是,您可以使用 MySQL 的 PREPARED STATEMENTS 功能来采用解决方法:
SELECT columnname FROM queries INTO @colname; SET @table = 'mytable'; SET @s = CONCAT('SELECT ', @colname, ' FROM ', @table); PREPARE stmt FROM @s; EXECUTE stmt;
这允许您根据变量 @colname 中存储的值创建具有动态字段名称的准备语句。
以上是如何使用变量动态选择和更新MySQL字段?的详细内容。更多信息请关注PHP中文网其他相关文章!