第二次在mysql存储过程中获取行计数时出错

时间:2015-06-15 18:37:30

标签: mysql stored-procedures

我正在编写一个存储过程来将数据插入到tbluser表中。以下是我的存储过程:

BEGIN

  /* Check if user already exits*/
  DECLARE user_count INT;
  select count(*) from tblusers into user_count where name = 'joseph';  

  /* Calculate the row count of table and calculate the id for new row*/
  DECLARE totalrows,current_id INT;
  select count(*) from tblusers into totalrows; 
  SET current_id = totalrows + 1;

 /*Other part of procedure with insert statement*/

END

我收到错误名称MYSQL 1064:在DECLARE totalrows,current_id INT;说mysql语法是错误的。如果我省略了存储过程中的前两个语句,那么它工作正常。请纠正我错在哪里,对于在mysql中使用存储过程是新手

1 个答案:

答案 0 :(得分:3)

声明语句必须是begin语句后的第一个语句。第一个选择是抛弃它。见:http://dev.mysql.com/doc/refman/5.0/en/declare.html