PhpMyAdmin 中的简单存储过程

Simple Stored procedure in PhpMyAdmin

我不擅长 PhpMyAdmin,也不擅长 MySql 非标准语法。我正在尝试使用 PhpMyAdmin 创建一个简单的存储过程,而引擎只是重复相同的操作:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

简单的存储过程是:

CREATE PROCEDURE proc_test()
BEGIN
  DECLARE int_val INT;

  SET int_val = int_val + 1;
  SELECT int_val;
END;

这是版本:

select @@version

5.6.28

我开始讨厌MySql。为什么我创建不了这么简单的存储过程?

您需要在代码中添加一些 delimiter。应该这样做:

DELIMITER $$

CREATE PROCEDURE proc_test()
BEGIN
  DECLARE int_val INT;

  SET int_val = int_val + 1;
  SELECT int_val;

END $$

你应该使用 DELIMITERlink

DELIMITER //
CREATE PROCEDURE proc_test()
BEGIN
  DECLARE int_val INT;    
  SET int_val = int_val + 1;
  SELECT int_val;
END //
DELIMITER ;

但是当你调用这个过程时它总是显示null。所以你应该通过 DEFAULT 值或使用 SET

设置 int_val
DECLARE int_val INT DEFAULT 0;

SET int_val = 0