【问题标题】:Mysql_ubuntu_ERROR 1064 (42000)Mysql_ubuntu_ERROR 1064 (42000)
【发布时间】:2021-07-28 08:24:35
【问题描述】:
mysql> delimiter &&
mysql> create procedure get()
    -> begin
    -> select * from a;
    -> end&&

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'get() 附近使用的正确语法 开始 从a中选择*; 在第 1 行结束'

mysql> show tables;
+----------------+
| Tables_in_data |
+----------------+
| a              |
| test           |
+----------------+

【问题讨论】:

    标签: mysql


    【解决方案1】:

    这是因为GET是MySql中的reserved word,因此不能在不使用反引号的情况下用作对象名。

    以下将起作用:

    delimiter &&
    create procedure `get`()
    begin
    select * from a;
    end&&
    delimiter ;
    

    或者,为过程使用另一个名称(我的建议是使用保留字作为对象名称是不明智的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 2016-11-25
      • 2018-03-05
      • 1970-01-01
      相关资源
      最近更新 更多