Mysql过程,在where子句中使用参数

Mysql过程,在where子句中使用参数,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,我从phpmyadmin创建了这个过程,但它不起作用,我将record_id中的最后一个单词替换为指定的字符串id并工作,但是当我使用参数not working时 DROP PROCEDURE `prcd_update_record`; CREATE DEFINER=`root`@`localhost` PROCEDURE `prcd_update_record`( IN `talep_id` VARCHAR(24), IN `vall` INT(10) ) NOT DET

我从phpmyadmin创建了这个过程,但它不起作用,我将record_id中的最后一个单词替换为指定的字符串id并工作,但是当我使用参数not working时

DROP PROCEDURE `prcd_update_record`;
CREATE DEFINER=`root`@`localhost` 
PROCEDURE `prcd_update_record`(
    IN `talep_id` VARCHAR(24), 
    IN `vall` INT(10)
) 
NOT DETERMINISTIC 
MODIFIES SQL DATA SQL 
SECURITY INVOKER 

UPDATE      `talep_malzeme` 
SET         `kalan_miktar` = vall
WHERE       `talep_malzeme`.`id` = talep_id;
我是这样执行的:

SET @p0='33'; SET @p1='57fb7911ea91e9efa'; CALL `prcd_update_record`(@p0, @p1);
希望这对你有帮助


希望这将对您有所帮助。

看起来您的参数顺序错误,请重试

CALL `prcd_sevk_toplam`(@p1, @p0);

看起来您的参数顺序错误,请重试

CALL `prcd_sevk_toplam`(@p1, @p0);

您应该根据参数定义为参数提供适当的值。您的过程接受如下参数

PROCEDURE `prcd_sevk_toplam`(
    IN `talep_id` VARCHAR(24), 
    IN `vall` INT(10)
您正在将它们都设置为
varchar
。这可能是这里的问题。您应该将它们设置为

SET @p0=33; 
SET @p1='57fb7911ea91e9efa'; 
CALL `prcd_sevk_toplam`(@p1, @p0);

您应该根据参数定义为参数提供适当的值。您的过程接受如下参数

PROCEDURE `prcd_sevk_toplam`(
    IN `talep_id` VARCHAR(24), 
    IN `vall` INT(10)
您正在将它们都设置为
varchar
。这可能是这里的问题。您应该将它们设置为

SET @p0=33; 
SET @p1='57fb7911ea91e9efa'; 
CALL `prcd_sevk_toplam`(@p1, @p0);

你犯了什么错误?添加您得到的错误您得到的错误是什么?添加您得到的错误