#1064 - MySQL 服务器版本在“END”错误附近使用正确的语法?

Posted

技术标签:

【中文标题】#1064 - MySQL 服务器版本在“END”错误附近使用正确的语法?【英文标题】:#1064 - MySQL server version for the right syntax to use near 'END' error? 【发布时间】:2017-04-29 20:23:46 【问题描述】:

我已经创建了一个存储过程,以便将数据插入数据库,因为我是存储过程的新手,所以我没有得到这个问题的确切解决方案,以下是我的查询:

create PROCEDURE retrieveSiteDetails
(in longitude varchar(50),in latitude varchar(50),in email_id varchar(60),in file_id varchar(10),
 in unique_site_id varchar(25),in description varchar(150),in site varchar(30),in batch varchar(20),
 in group_is varchar(85),in enumeration varchar(20),in created_at datetime,in modified_at datetime)
 BEGIN
 insert into geodata (longitude,latitude,email_id,file_id, unique_site_id,description,site,batch,
  group_is,enumeration,created_at,modified_at) values (in_longitude,in_latitude,in_email_id,
in_file_id,in_unique_site_id,in_description,in_site,in_batch,in_group_is,in_enumeration,
in_created_at,in_modified_at);
 END

请帮我解决这个查询问题

【问题讨论】:

【参考方案1】:

使用此格式从 mysql 客户端创建过程。

DELIMITER $$

USE DBNAME$$

DROP PROCEDURE IF EXISTS <Your Procedure_name>$$

CREATE PROCEDURE <Your Procedure_name>( <Parameter1>,<Parameter2>......<Parametern>)
BEGIN

<Your statements>;


END$$

DELIMITER ;

【讨论】:

我已经在插入查询的末尾和 END 字之前使用了分号 我已经编辑了从mysql客户端创建过程的格式。

以上是关于#1064 - MySQL 服务器版本在“END”错误附近使用正确的语法?的主要内容,如果未能解决你的问题,请参考以下文章

_mysql_exceptions 错误(1064,“检查与您的 MySQL 服务器版本相对应的手册,以获取在 'default 附近使用的正确语法)值

1064. 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册

语法错误或访问冲突:1064 您的 SQL 语法有错误;对应于正确语法的 MySQL 服务器版本

Phpmyadmin 在“END”附近创建触发器语法错误