【发布时间】:2015-12-28 03:27:10
【问题描述】:
我正在尝试在 MySQL 中创建一个非常基本的存储过程。它必须在表中增加一个 int 值。如果已经存在,我还希望删除存储过程。顺便说一句,存储过程中的 sql 可以正常工作。
我得到这个错误:
您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 在第 5 行的“END”附近
我试过了:
DELIMITER $$
DROP PROCEDURE IF EXISTS sp_version_increment$$
CREATE PROCEDURE `sp_version_increment`()
BEGIN
SET @ver = (SELECT version FROM version LIMIT 1) + 1;
UPDATE version SET version = @ver
END$$
DELIMITER
DELIMITER $$
DROP PROCEDURE IF EXISTS sp_version_increment$$
CREATE PROCEDURE `sp_version_increment`()
BEGIN
SET @ver = (SELECT version FROM version LIMIT 1) + 1;
UPDATE version SET version = @ver
END
解决方案:
DELIMITER $$
DROP PROCEDURE IF EXISTS sp_version_increment$$
CREATE PROCEDURE `sp_version_increment`()
BEGIN
SET @num = (SELECT number FROM version LIMIT 1) + 1;
UPDATE version SET number = @num;
END
【问题讨论】: