jjzjj

mySQL DELIMITER 抛出 1064

coder 2023-10-26 原文

DELIMITER $$
DROP PROCEDURE IF EXISTS eventsNearMe$$

CREATE PROCEDURE eventsNearMe(IN inIP VARCHAR(16))
BEGIN

DECLARE ipLAT FLOAT;
DECLARE ipLONG FLOAT;

SELECT iplocationdb_location.latitude, iplocationdb_location.longitude
 INTO ipLAT, ipLONG
 FROM `iplocationdb_ip`
 LEFT JOIN iplocationdb_location ON iplocationdb_location.id=iplocationdb_ip.location_id
 WHERE iplocationdb_ip.prefix=(INET_ATON(inIP)>>24)
 AND INET_ATON(inIP) BETWEEN iplocationdb_ip.start_ip AND iplocationdb_ip.end_ip LIMIT 1;

CREATE TEMPORARY TABLE tempEVENTS
SELECT `eid`,(((acos(sin((ipLAT*pi()/180)) * sin((`lat`*pi()/180))+cos((ipLAT*pi()/180)) * cos((`lat`*pi()/180)) * cos(((ipLONG- `long`)*pi()/180))))*180/pi())*60*1.1515) as d FROM `mke_events` HAVING `d` <= 10 LIMIT 1;

SELECT * FROM tempEVENTS;

DROP TEMPORARY TABLE tempEVENTS;
END 
$$
DELIMITER ;  

根据我的理解,上面的代码应该创建一个快速的小 sp 来获取给定 ip 地址附近的事件。然而,通过我所有的搜索,我还没有找到一个令人满意的理由让它在 DELIMITER(第 1 行)上抛出 1064。
即使我只有:

DELIMITER $$
SELECT * FROM iplocationdb_location;
$$
DELIMITER ;

它仍然触发 1064.mySQL 版本 5.0.77。

注意:我在 DELIMITER 和定界字符串之间留有空格。 NOTE2:我正在使用heidiSQL来运行这个脚本,根据我的理解,这应该等同于从命令行运行它。

最佳答案

由于 DELIMITER 行上额外的尾随空格(制表符),我也遇到了虚假的与 DELIMITER 相关的语法错误,使用命令行 mysql 而不是 HeidiSQL。例如:

DELIMITER ;<TAB><TAB>

删除尾随的空格修复了它(你对空格的评论提示了我,谢谢。)

关于mySQL DELIMITER 抛出 1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5999540/

有关mySQL DELIMITER 抛出 1064的更多相关文章

  1. ruby - 在 Ruby 中重新分配常量时抛出异常? - 2

    我早就知道Ruby中的“常量”(即大写的变量名)不是真正常量。与其他编程语言一样,对对象的引用是唯一存储在变量/常量中的东西。(侧边栏:Ruby确实具有“卡住”引用对象不被修改的功能,据我所知,许多其他语言都没有提供这种功能。)所以这是我的问题:当您将一个值重新分配给常量时,您会收到如下警告:>>FOO='bar'=>"bar">>FOO='baz'(irb):2:warning:alreadyinitializedconstantFOO=>"baz"有没有办法强制Ruby抛出异常而不是打印警告?很难弄清楚为什么有时会发生重新分配。 最佳答案

  2. ruby-on-rails - Rails - Carrierwave 进程抛出 ArgumentError : no images in this image list - 2

    在尝试实现应用auto_orient的过程之后!对于我的图片,我收到此错误:ArgumentError(noimagesinthisimagelist):app/uploaders/image_uploader.rb:36:in`fix_exif_rotation'app/controllers/posts_controller.rb:12:in`create'Carrierwave在没有进程的情况下工作正常,但在添加进程后尝试上传图像时抛出错误。流程如下:process:fix_exif_rotationdeffix_exif_rotationmanipulate!do|image|

  3. ruby - Rails+ActiveAdmin - 使用 ransacker 过滤会抛出错误 PG::SyntaxError: ERROR: syntax error at or near "," - 2

    我在RubyonRails4.1.4上有一个项目,使用来自git://github.com/activeadmin/activeadmin的activeadmin1.0.0.pre,pg0.17.1,PostgreSQL9.3在项目中我有这些模型:类用户has_one:账户类账户属于:用户有很多:project_accountshas_many:项目,:through=>:project_accounts类项目#该项目有一个bool属性'archive'has_many:project_accounts类ProjectAccount属于:帐户属于:项目我有一个任务是在索引页面上实现一个

  4. ruby - 你如何断言另一个 ruby​​ 模块的异常被抛出? (使用 assert_throws) - 2

    我正在尝试编写这样的代码:assert_throws(:ExtractionFailed){unit.extract_from('5x2005')}ExtractionFailed是Exception的一个简单子(monad)类,在test/unit下,我试图断言它在我调用unit.extract_from(...坏数据...)我已经将ExtractionFailed移动到SemanticText模块中,所以现在test/unit说:expectedtobethrownbutwasthrown.我尝试编写assert_throws(:SemanticText::ExtractionFa

  5. ruby - 为什么 Ruby 在抛出 NameError 异常后仍保留代码求值? - 2

    我无法向自己解释的简单代码:putsaifa=1这导致warning:found=inconditional,shouldbe==NameError:undefinedlocalvariableormethod'a'formain:Object不过,现在检查a我们可以看到,它已被定义:a#=>1尽管抛出异常,为什么a仍被分配给1?来自docs:Theconfusioncomesfromtheout-of-orderexecutionoftheexpression.Firstthelocalvariableisassigned-tothenyouattempttocallanonexis

  6. jquery - Rack 抛出 EOFError(错误的内容正文) - 2

    我们使用Ruby2.1.2、Rails3.2.19和JQuery1.11,未使用Assets管道(因此未使用JQuery-ujs,但明确使用相关的rails.js)。对于大多数用户来说,JQuery和其他相关的常用插件都是从GoogleCDN中提取的(包括jquery.form3.50)。受影响的网络服务器是Ubuntu14.04、Nginx1.6和Passenger4.x。对于我们生产服务器上大约10%的用户(负载似乎无关紧要),我们得到了这样的堆栈转储,主要针对一个URL,但也有其他URL:/gems/rack-1.4.5/lib/rack/multipart/parser.rb:

  7. ruby-on-rails - bundle exec rake 测试抛出错误 - 2

    你好,我是铁路新手。我正在关注MichaelHartl的railstutorial.org。我卡在了第4章的list4.5中:当我点击$bundleexecraketest时,它显示的结果与按照教程应该显示的结果不同。注意:我使用的是Ubuntu15.10作为平台。当我点击$bundleexecraketest时的结果/home/shyambhimani/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/minitest-reporters-1.0.5/lib/minitest/minitest_reporter_plugin.rb:8:in

  8. Ruby 2.0 抛出 "[BUG] Stack consistency error" - 2

    我正在学习RubyKoans中的练习在about_proxy_object_project.rb中有这段代码:classProxydefinitialize(target_object)@object=target_objectend#Thismethodwasaddedbymedefmethod_missing(method_name,*args,&block)@object.sendmethod_nameendend这样调用:deftest_tv_methods_still_perform_their_functiontv=Proxy.new(Television.new)#Tel

  9. ruby-on-rails - 向嵌套资源发表评论时 ActiveAdmin 抛出错误 - 2

    使用很棒的ActiveAdmingem我遇到了评论问题。ActiveAdmin.registerSaledobelongs_to:channelshowdo|sale|#stufftoshowsaleresource...#allowcommentsonsalesactive_admin_commentsendend如果我使用上述设置对销售发表评论,评论会发布,但随后在重定向时崩溃:undefinedmethod`admin_sale_path'for#正确的路由方法是admin_channel_sale_path(sale.channel,sale)但它似乎无法解决这个问题,而且我不

  10. ruby - 为什么 Ruby 会针对私有(private)属性抛出警告 - 2

    以示例类为例:#in./example.rbclassExampleprivateattr_accessor:nameend当我在详细模式下运行它时,Ruby会向我发出警告:$ruby-W2./example.rbexample.rb:3:warning:privateattribute?为什么不推荐这样做? 最佳答案 因为在大多数情况下,定义一个从外部看不到的getter/setter意义不大。我们通常使用attr_accessor只是为了在类之外暴露一个实例变量。但是,private关键字使生成的getter/setter方法对

随机推荐