SQL存储程序保存为可变

时间:2013-06-27 07:51:49

标签: mysql stored-procedures

有人能发现这个存储过程的问题吗? mysql报告以下错误: 1048列'categoryID'不能为空

DELIMITER $$
CREATE PROCEDURE catalogue_assign_product_to_subcategory(
    IN inProductId INT, 
    IN insubCategoryId INT)

     BEGIN

     DECLARE catID INT;

     SELECT subcategoryParent FROM tblSubcategory 
         WHERE subcategoryID =  insubCategoryId INTO catID;

    INSERT INTO tblProdCat (productID, categoryID)
       VALUES (inProductId, 'catID');


  END

1 个答案:

答案 0 :(得分:0)

'catID'应该没有INSERT语句中的单引号。 我猜这个字段被定义为INT,你现在尝试插入一个STRING

   INSERT INTO tblProdCat (productID, categoryID)
   VALUES (inProductId, catID);