PhpMyAdmin 中的简单存储过程

Posted

技术标签:

【中文标题】PhpMyAdmin 中的简单存储过程【英文标题】:Simple Stored procedure in PhpMyAdmin 【发布时间】:2016-05-31 22:03:47 【问题描述】:

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

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 第 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。为什么我不能创建这么简单的存储过程?

【问题讨论】:

您忘记了分隔符。而且当您调用此过程时,它将显示 null 【参考方案1】:

您应该使用DELIMITER。 link。

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

【讨论】:

【参考方案2】:

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

DELIMITER $$

CREATE PROCEDURE proc_test()
BEGIN
  DECLARE int_val INT;

  SET int_val = int_val + 1;
  SELECT int_val;

END $$

【讨论】:

以上是关于PhpMyAdmin 中的简单存储过程的主要内容,如果未能解决你的问题,请参考以下文章

phpmyadmin 中的存储过程

mysql phpmyadmin 中的存储过程 #1064

phpmyadmin 在创建存储过程时卡住了

phpMyAdmin,存储过程不按预期工作

如何通过 phpMyAdmin 界面使用存储过程

在 phpmyadmin 中从 mysql 命令行调用 mysql 存储过程