保存存储过程时出错[重复]
Posted
技术标签:
【中文标题】保存存储过程时出错[重复]【英文标题】:Error while saving stored procedure [duplicate] 【发布时间】:2012-10-05 13:11:43 【问题描述】:可能重复:How to write a stored procedure using phpmyadmin and how to use it through php?
我从存储过程开始,并在每个使用过的页面上尝试了一个简单的查询,但得到一个我无法解决的错误。
CREATE PROCEDURE ts_open_uitdagingen()
BEGIN
SELECT
COUNT(*) AS open_uitdagingen
FROM
ts_lad_uitdagingen
WHERE
uitgedaagde = '97'
AND acceptdatum IS NULL
AND afwijsdatum IS NULL ;
END;
错误信息:
1064 - 您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以获取正确的语法,以便在第 10 行的 '' 附近使用
第 10 行有什么问题? 有或没有分号,我得到这个消息?? 查询本身只是从我的脚本中复制而来,并且运行良好。
【问题讨论】:
您需要设置一个备用DELIMITER
。无论您是在 MySQL 命令行上还是在其他客户端上执行此操作,过程都不同。
谢谢,我确信我只需要命令行而不是 phpmyadmin!但我不能接受您的分析,因为您已将其作为评论提交?请提交作为答案,所以我可以给你正确答案的学分。再次感谢!
这不是重复的,根据那个主题(不是我的)不可能通过 PMA 处理 SP,但我可以通过 PMA 创建和删除 SP:)
Duplicate 表示一个问题涵盖相同的领域并且有足够的答案 - 第一个答案涉及在 PMA 中设置分隔符。
【参考方案1】:
尝试去掉那些尾随的分号?
我会尝试一些其他格式的事情:
CREATE PROCEDURE ts_open_uitdagingen
AS
BEGIN
SELECT
COUNT(*) AS open_uitdagingen
FROM
ts_lad_uitdagingen
WHERE
uitgedaagde = '97'
AND acceptdatum IS NULL
AND afwijsdatum IS NULL
END
【讨论】:
感谢您的评论,但我写道我已经尝试过了。以上是关于保存存储过程时出错[重复]的主要内容,如果未能解决你的问题,请参考以下文章