Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图从mysql存储过程中获取Count单值_Mysql_Stored Procedures - Fatal编程技术网

试图从mysql存储过程中获取Count单值

试图从mysql存储过程中获取Count单值,mysql,stored-procedures,Mysql,Stored Procedures,我试图在mysql存储过程中进行计数,但无法获得正确的语法帮助1 delimiter// create procedure get_count_workmen_type( IN employee_payroll int, OUT mycount int ) begin SELECT count(*) into mycount from workman where employee_payroll = employee_payroll end // del

我试图在mysql存储过程中进行计数,但无法获得正确的语法帮助1

    delimiter//
create procedure get_count_workmen_type(
    IN employee_payroll int,    
    OUT mycount int
)


begin 

SELECT count(*) into mycount from workman
where employee_payroll = employee_payroll

end //
delimiter;

您应该在参数名称前加前缀(我个人使用“p”)以区别于列名等。例如
其中employee\u payroll=employee\u payroll
将始终为真,因为它将列与自身进行比较

您还应该在select语句的末尾添加分号

将这两个更改放在一起,可以得到如下结果:

delimiter //

create procedure get_count_workmen_type(
    IN p_employee_payroll int,    
    OUT p_mycount int
)
begin 
  SELECT count(*) 
  into p_mycount 
  from workman
  where employee_payroll = p_employee_payroll;
end //

delimiter ;

天才,谢谢!我是mysql新手,所以习惯了sql server