【Mysql】命令行执行存储过程报错,具体如下

laughing__ 2011-09-30 10:36:26

USE `sql_db`;
DROP PROCEDURE IF EXISTS `TigActiveAccounts`;
CREATE DEFINER=`root`@`localhost` PROCEDURE `TigActiveAccounts`()
begin
select user_jid, last_login, last_logout, online_status, failed_logins, account_status from tig_users where account_status > 0;
end;


报的错是:
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
...全文
271 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
LeosDing 2012-12-19
  • 打赏
  • 举报
回复
要是使用C API 的话也是这样么? 为嘛我的mysql_real_query(conn,"delimiter $$", ...)返回的一直就是-1呢?
laughing__ 2011-09-30
  • 打赏
  • 举报
回复
好了,上面是对的,给分了,哈哈
laughing__ 2011-09-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wwwwa 的回复:]
delimiter //
CREATE DEFINER=`root`@`localhost` PROCEDURE `TigActiveAccounts`()
begin
select user_jid, last_login, last_logout, online_status, failed_logins, account_status from tig_users where ……
[/Quote]

我是通过shell执行x.sh文件,然后执行一个x.sql脚本,脚本里写了这个存储过程,但是报这个错,1楼,2楼的写法,好像都不行啊,delimiter好像不是关键字啊
laughing__ 2011-09-30
  • 打赏
  • 举报
回复
上面的两个都不行啊,是不是写的有问题啊?
WWWWA 2011-09-30
  • 打赏
  • 举报
回复
delimiter //
CREATE DEFINER=`root`@`localhost` PROCEDURE `TigActiveAccounts`()
begin
select user_jid, last_login, last_logout, online_status, failed_logins, account_status from tig_users where account_status > 0;
end;//
delimiter ;
rucypli 2011-09-30
  • 打赏
  • 举报
回复
delimiter $
CREATE DEFINER=`root`@`localhost` PROCEDURE `TigActiveAccounts`()
begin
select user_jid, last_login, last_logout, online_status, failed_logins, account_status from tig_users where account_status > 0;
end;
$

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧