mysql存储过程列错误

标签 mysql database stored-procedures

我收到以下错误。但我没有在存储过程中输入 count 那么为什么会出现此错误?

  CALL updateproposalStatus(1,5)    Error Code: 1136. Column count doesn't match value count at row 1

存储过程:

CREATE DEFINER=`root`@`localhost` PROCEDURE `updateProposalStatus`(IN decision INT, IN x INT)
BEGIN
DECLARE adv_id varchar(30);
DECLARE std_id varchar(30);
DECLARE topic varchar(255);

select
 a.id INTO adv_id
 from
 rp_proposal p
 inner join rp_adviser a on p.rp_adviser_id = a.id
 where p.proposal_id=x;

 select
 s.id INTO std_id
 from
 rp_proposal p
 inner join rp_student s on p.rp_student_id = s.id
 where p.proposal_id=x;

 select
 p.title INTO topic
 from
 rp_proposal p
 where p.proposal_id=x;

UPDATE rp_proposal_status
SET state_rp_controller =decision
WHERE rp_proposal_id = x;

IF decision = 1 THEN
INSERT INTO rp_indpstudy VALUES (topic,adv_id,std_id);
END IF;
END

最佳答案

它提示的是列计数(列数),而不是名为 count 的列。

最有可能的罪魁祸首是末尾的 insert 语句 - 确保它与 rp_indpstudy 的架构一致。

关于mysql存储过程列错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629756/

相关文章:

java - 接口(interface)和数据库

sql-server-2005 - SQL Server 将存储过程代码存储在哪里?

mysql - CASE/WHEN 在 WHERE 条件下取决于行索引

android - 无法让我的 Android 应用程序连接到服务器

php - 如何用PHP实现多个带外键的MYSQL表到HTML表中?

php - 将 AJAX 值返回到 Javascript 变量

php - 构建 mysql 查询和/或 php 代码来关联不明确的数据点

android - 来自 Android 设备的远程 MySQL 数据库连接

sql-server - 我应该如何重命名许多存储过程而不破坏内容?

php - 使用 Zend 框架调用多个存储过程