mysql程序没有使用phpmyadmin创建/工作
Posted
技术标签:
【中文标题】mysql程序没有使用phpmyadmin创建/工作【英文标题】:mysql procedure not getting created/working using phpmyadmin 【发布时间】:2011-06-06 23:22:32 【问题描述】:我使用 phpmyadmin + mysql 版本 5.0.77 创建了以下存储过程,但没有按预期工作.....并显示以下错误。
存储过程:
delimiter //
create procedure myProc()
begin
select name from main_contacts;
end //
delimiter;
错误 您的 SQL 查询中似乎有错误。 下面的 MySQL 服务器错误输出, 如果有的话,也可以帮助您诊断问题 错误: 未知标点字符串 @ 11 STR:// SQL: 分隔符 // 创建过程 myProc() 开始 从 main_contacts 中选择名称 SQL查询: delimiter // 创建过程 myProc() 从 main_contacts 开始选择名称 MySQL 说: #1064 - 您的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册 在 'delimiter // 附近使用正确的语法 创建过程 myProc() 开始 从第 1 行的 main_contacts' 中选择名称
【问题讨论】:
你用的是什么mysql版本?SELECT VERSION()
【参考方案1】:
您需要在分隔符后留出空格。所以替换delimiter
; delimiter ;
或者你可以试试,
delimiter //
create procedure myProc()
begin
select name from main_contacts;
end //
delimiter ;
【讨论】:
诀窍是添加最后一行:“delimiter ;”。如果省略该行,则会出现“未知标点字符串”错误。我在 PHPMyAdmin v4.2.5 中有这个 你也可以使用另一个客户端,比如 MySQL WorkBench,它不会受到这个错误的影响(?)。 在使用 PHPMyAdmin v4.2.5 之后,我可以说它非常有问题。我收到诸如“错误”、“未知标点字符串”之类的错误或没有错误,但我的程序/函数没有保存,只需使用 MySQL WorkBench。像魅力一样工作。【参考方案2】:问题是您的 MySQL 客户端不喜欢 DELIMITER 命令。如果您使用的是旧版本的 phpMyAdmin,请使用新版本,因为该问题已在 phpMyAdmin 中解决。如果您可以使用 MySQL 客户端 mysql,那也应该可以解决您的问题。
如果您无法使用旧版本的 phpMyAdmin,并且不能或不想使用 mysql,请在 Nth Design 网站上查看 Nate Smith 的建议...
http://blog.nth-design.com/2009/02/25/creating-sp-in-phpmyadmin/
希望这会有所帮助。
【讨论】:
以上是关于mysql程序没有使用phpmyadmin创建/工作的主要内容,如果未能解决你的问题,请参考以下文章