Home  >  Q&A  >  body text

node.js - MySQL 存储过程中变量使用Select...Into...获取值遭遇null,求助!

帮忙看看哪里有问题,多谢了。
确定数据库里有记录。
程序代码,参数的赋值和顺序并没有错。

  var productCategoryID = helper.emptyUuid;
  var parentID = req.body.parentID ? req.body.parentID : helper.emptyUuid;
  var usePorc = "CALL usp_productCategory_create(?,?,?,?,?,@returnCode);";
  var useParams = [productCategoryID, req.body.name, req.body.details, parentID, req.session.adminid];

存储过程,出错了。

CREATE DEFINER=`root`@`localhost` PROCEDURE `usp_productCategory_create`(
    in param_porductcategoryid char(50)
    ,in param_name varchar(20)
    ,in param_details varchar(200)
    ,in param_parentID char(50)
    ,in param_userID char(50)
    ,out returnCode char(12))
BEGIN    
    DECLARE var_exists int;
    SET returnCode='003001000';        
    SELECT count(productCategoryID) into var_exists FROM productcategories WHERE productCategoryID=param_parentID group by productCategoryID;      
    IF var_exists=1 then    
        SET returnCode='003001001';    
    end if;
    set returnCode=CAST(var_exists AS char(12));//后来加的语句用来做测试,结果获取到Null
    select returnCode;
END
PHP中文网PHP中文网2741 days ago603

reply all(2)I'll reply

  • 大家讲道理

    大家讲道理2017-04-17 14:22:39

    Oops...at first glance in the morning...I defined the variable name wrong...


    Resolved.
    Use sublimeText to edit the saved code before, ctrl+alt+F to format the code, and a number of spaces are automatically added to the value. parentID is originally uuid, but after adding spaces, the length becomes 82. sweat.
    Furthermore, it was implemented under mssql before, so you can do it directly. Now change mysql and pass the parentID to the stored procedure and the response will be '00000000-0000-0000-0000-000000000000rn'

    <select name="parentID" class="form-control">
    <% categories[0].forEach(function(category){ %>
      <% if (category.productCategoryID==parentID) { %>
        <option value="<%= category.productCategoryID %>
                                                " selected>
      <% } else { %>
        <option value="<%= category.productCategoryID %>
                                                    ">
      <% }%>
    </select>

    reply
    0
  • 高洛峰

    高洛峰2017-04-17 14:22:39

    Judge later, if xxx =null then

    reply
    0
  • Cancelreply