mysql - SQL 存储过程保存到变量中

标签 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

最佳答案

'catID' 在 INSERT 语句中不应包含单引号。 我猜该字段被定义为 INT,您现在尝试插入一个 STRING

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

关于mysql - SQL 存储过程保存到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17337605/

相关文章:

MySQL 全文搜索 : how to find out in which column the search query has been found?

mysql - 当一个表与另一个表多次关联时,查询数据库以获取关系数据的最有效方法

MySQL创建存储过程报错

php - 如何在存储过程中使用 MySQLi 准备语句

sql-server - SQL Server 2005 : Subquery in EXEC?

php - 在 MySql 列上使用 PHP 函数

mysql - 类未找到异常 : Cycle detected while trying to load class - at Entity Classes (When starting JPA bundle in Karaf)

mysql - 选择查询未返回正确的值

mysql - 创建过程 MySQL 错误无描述

sql - 在单个存储过程中更改表和更新列?