当我从数据库中获取数据时,它在sql命令中给出了错误。我该如何修复代码

时间:2018-09-27 08:10:59

标签: mysql

SELECT (SUM(MAX(identifier)+1) FROM student_ids WHERE state ='state' AND  year='year');

SELECT (SUM(MAX(identifier)+1) FROM student_ids WHERE state ='state' AND  year='year')
LIMIT 0, 25 

MySQL说:文档  #1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在'FROM student_ids WHERE state ='state'AND year ='year'附近使用正确的语法)  第1行的LIMIT 0,25' 我该如何解决错误

2 个答案:

答案 0 :(得分:1)

SUM函数用于获取多行中的列汇总。您不需要使用它来添加标量值:

SELECT MAX(identifier) + 1 AS max_id
FROM student_ids
WHERE state = 'state' AND year = 'year';

答案 1 :(得分:1)

除了@ tim-biegeleisen外,将`用作列名和表名,例如:`year`,`state`,...

因为您使用的某些字词已保留。 YEAR是保留字,如果将其用作列名,则可能会返回错误。 SQL认为您正在调用 year 函数,而不是名为 year 的列。

SELECT MAX(`identifier`) + 1 AS `max_id`
FROM  `student_ids`
WHERE `state` = 'state' 
AND   `year`  = 'year' ;

以下是有关mySQL中保留字的文档: https://dev.mysql.com/doc/refman/5.5/en/keywords.html