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 $$
你应该使用 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
我不擅长 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 $$
你应该使用 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