在MySQL存储过程中将FieldName作为参数传递

编程入门 行业动态 更新时间:2024-10-26 10:34:25
本文介绍了在MySQL存储过程中将FieldName作为参数传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我将表字段名称作为参数传递给存储过程,但是存储过程将字段名称作为值而不是字段名称,并抛出错误.

I am passing table field name as parameter to stored procedure but stored procedure take field name as value instead of field name and throws error.

例如,如果我通过参数FieldName传递了isEnabled值,则Mysql会在字段列表中引发错误未知列'isEnabled',这表明mysql自动添加了引号.

e.g if i pass value isEnabled via parameter FieldName, Mysql throws error unknown column 'isEnabled' in field list, which shows mysql automatically add quote.

这是我编写的示例存储过程.

Here is sample stored procedure i wrote.

CREATE `VSK_Comments_UpdateAction`(IN FieldName varchar(30),IN FieldValue tinyint,CID bigint) BEGIN Update comments Set FieldName=FieldValue WHERE commentid=CID; END;

有没有办法让我正确正确地动态传递字段名称.

Is there is a way so i can properly pass field name dynamically properly.

推荐答案

您可以使用准备好的语句,例如-

CREATE `VSK_Comments_UpdateAction`(IN FieldName varchar(30),IN FieldValue tinyint,CID bigint) BEGIN SET @query = CONCAT('Update comments Set ', FieldName, '=? WHERE commentid=?'); PREPARE stmt FROM @query; SET @FieldValue = FieldValue; SET @CID = CID; EXECUTE stmt USING @FieldValue, @CID; DEALLOCATE PREPARE stmt; END;

更多推荐

在MySQL存储过程中将FieldName作为参数传递

本文发布于:2023-10-29 03:23:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1538575.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:参数   过程中将   MySQL   FieldName

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!