mysql函数语法错误_创建函数时出现mysql语法错误

DROP FUNCTION IF EXISTS bramkiStracone;

CREATE FUNCTION bramkiStracone(idDruzyny INT)

RETURNS int(11)

DETERMINISTIC

BEGIN

DECLARE bramek INT;

DECLARE tmp1 INT;

DECLARE tmp2 INT;

SELECT DISTINCT COALESCE(SUM( b.bramki ), 0) INTO tmp1

FROM LigaBramki b

INNER JOIN LigaZawodnicy z ON b.idZawodnika = z.idZawodnika

INNER JOIN LigaDruzyny d ON z.idDruzyny = d.idDruzyny

INNER JOIN LigaMecze m ON b.idMeczu = m.idMeczu

WHERE m.idDruzyny2 = idDruzyny

AND z.idDruzyny != idDruzyny

AND d.idDruzyny != idDruzyny

AND m.rozegrany = '1';

SELECT DISTINCT COALESCE(SUM( b.bramki ), 0) INTO tmp2

FROM LigaBramki b

INNER JOIN LigaZawodnicy z ON b.idZawodnika = z.idZawodnika

INNER JOIN LigaDruzyny d ON z.idDruzyny = d.idDruzyny

INNER JOIN LigaMecze m ON b.idMeczu = m.idMeczu

WHERE m.idDruzyny1 = idDruzyny

AND z.idDruzyny != idDruzyny

AND d.idDruzyny != idDruzyny

AND m.rozegrany = '1';

SET bramek = tmp1 + tmp2;

RETURN bramek;

END

我在DECLARE bramek INT附近有错误;但不知道我错过了什么,

我试图通过删除分号来使其工作,但这也不起作用.

在我添加分隔符后,我仍然有错误

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 'DELIMITER |

CREATE FUNCTION bramkiStracone(idDruzyny INT)

RETURNS int(11)

DET' at line 1

### 回答1: MySQL提示语法错误通常是由于SQL查询语句中存在语法错误导致的。常见的错误包括: 1. 拼写错误:检查SQL语句中是否有拼写错误或大小写错误。 2. 缺少分号:SQL语句必须以分号结束,如果没有分号,会提示语法错误。 3. 引号不匹配:如果在SQL语句中使用了引号,必须确保引号成对出现。 4. 数据类型错误:如果在SQL语句中使用了错误的数据类型,例如将字符值插入数值列中,会提示语法错误。 5. 表名或列名错误:检查SQL语句中表名或列名是否正确。 6. SQL注释错误:如果在注释中使用了错误的语法,会导致语法错误。 解决方法: 1. 仔细检查SQL语句,确保没有拼写错误或大小写错误。 2. 确保SQL语句以分号结束。 3. 检查引号是否成对出现。 4. 确保使用正确的数据类型。 5. 检查表名或列名是否正确。 6. 确保注释使用正确的语法。 ### 回答2: MySQL提示语法错误是因为在SQL语句中存在错误的语法结构或者使用了错误的关键字。常见的语法错误包括但不限于以下几种情况: 1. 命令拼写错误:可能是因为命令拼写错误或者大小写写错了,MySQL对大小写是敏感的,所以在使用命令要确保拼写正确。 2. 关键字错误:在SQL语句中使用了错误的关键字,例如将SELECT写成了SELEC,或者使用了不支持的关键字。 3. 表名或列名错误:在SQL语句中引用了不存在的表或列名,可能是因为拼写错误或者表或列不存在。 4. 缺失引号或引号使用错误:在SQL语句中引用字符串没有正确使用引号,或者使用了错误的引号类型。 5. 缺失分号:每个SQL语句应该以分号结尾,如果缺失分号,MySQL就会提示语法错误。 当出现MySQL提示语法错误,可以通过检查以上情况来进行排查和修正。此外,可以查看MySQL的报错信息,通常会给出具体的错误信息和位置,帮助我们更准确地定位和解决问题。另外,一些集成开发环境(IDE)或数据库管理工具还会在编写SQL语句提供语法高亮和智能提示功能,有助于避免语法错误出现。 ### 回答3: MySQL提示语法错误通常是由于以下几种原因导致的: 1. SQL语句书写错误:在编写SQL语句,可能会忽略了某个关键字、函数名、括号等等,导致语法错误。需要仔细检查SQL语句,确保所有关键字和语法结构都正确。 2. 缺少引号或括号:在使用字符串或者日期的候,需要使用引号将其括起来。如果缺少引号或者括号,就会导致语法错误。需要确保引号或括号使用正确。 3. 表名或列名错误:在SQL语句中引用表名或列名,需要确保名称拼写正确,并且表名或列名存在于数据库中。如果名称写错或者不存在,就会提示语法错误。 4. 数据库连接错误:如果在连接数据库的出现错误,可能也会导致MySQL提示语法错误。需要确保数据库连接参数正确,并且数据库服务正常运行。 5. 版本不兼容:在不同版本的MySQL中,有些语法可能会有所改变或不支持。如果使用了不支持的语法,就会提示语法错误。需要根据所使用的MySQL版本来编写兼容的SQL语句。 在遇到MySQL提示语法错误,可以先检查以上几个方面,逐一排查错误原因,并根据错误提示信息进行调整。同,也可以参考MySQL官方文档或者网上的资源来解决常见的语法错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值