gpt4 book ai didi

MySql IN 参数 - 在存储过程中使用时,VarChar IN 参数 val 是否需要单引号?

转载 作者:行者123 更新时间:2023-11-29 14:09:47 30 4
gpt4 key购买 nike

MySql IN 参数 - 在存储过程中使用时,VarChar IN 参数 val 是否需要单引号?

我已经像平常一样创建了经典 ASP 代码,但我没有更新该列。

我需要引用 VarChar 参数吗?

DELIMITER $$

DROP PROCEDURE IF EXISTS `usp_update_map_record` $$
CREATE DEFINER=`ddddddd`@`%` PROCEDURE `usp_update_map_record`(
IN p_intGrillId INT(10),
IN p_intPartId INT(10),
IN p_ManRef VARCHAR(10)
)
BEGIN

UPDATE parts_map SET manualref = 'p_ManRef' WHERE grillid = p_intGrillId AND partid = p_intPartId;

END $$

DELIMITER ;

VBSCRIPT 部分:

With comm
.ActiveConnection = conn
.CommandType = adCmdStoredProc
.CommandText = "usp_update_map_record"
.Parameters.Append .CreateParameter("p_intGrillId", adInteger, adParamInput, 10, intGrillId)
.Parameters.Append .CreateParameter("p_intPartId", adInteger, adParamInput, 10, CIntPartId)
.Parameters.Append .CreateParameter("p_ManRef", adVarChar, adParamInput, 10, strManualRef)
.Execute
End With

我还测试了所有 3 个值,它们不为空。

谢谢。

最佳答案

这是不正确的:

UPDATE parts_map SET manualref = 'p_ManRef'
^-- ^--

引号将该“字段”转换为字符串。 - 您不是在比较两个字段,而是在将 manualref 字段与一个字符串进行比较,该字符串的值恰好是您的存储过程的参数名称。

尝试:

UPDATE parts_map SET manualref = @p_ManRef
^--- variable/parameter indicator

关于MySql IN 参数 - 在存储过程中使用时,VarChar IN 参数 val 是否需要单引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13706247/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com