【问题标题】:ERROR: syntax error at or near ";" Position: 102错误:“;”处或附近的语法错误职位:102
【发布时间】:2017-09-07 04:46:54
【问题描述】:

作为一名学习 SQL 的学生,我正在尝试执行此命令:

SELECT * 
FROM Student
WHERE name = 'Evan' AND (lastName = 'Bhops' OR lastName = 'Hops');

但是我收到了这个错误:

错误:“;”处或附近的语法错误位置:102

我正在使用 mySql 命令行

我是初学者,我很想知道为什么?

【问题讨论】:

  • 您使用的是哪个数据库?你是如何执行查询的?
  • 我看不出有什么问题!
  • 也许您使用的实际 SQL 数据库系统的任何“风格”都不喜欢命令后的分号.....这就是错误消息似乎暗示的......
  • 你以前有一个右括号,但现在你没有。如果您当前的查询是您正在使用的查询,则放回该括号
  • @marc_s 这很奇怪,但是我的老师告诉我们总是在每条语句的末尾加上一个分号,但是在我的 SQL 编辑器中,当我删除分号时,命令会正确执行。谢谢你的帮助!

标签: mysql sql


【解决方案1】:

删除分号似乎很明显。我还建议使用in:

SELECT * 
FROM Student
WHERE name = 'Evan' AND lastName IN ('Bhops' , 'Hops')

【讨论】:

  • 它有效,但我很想知道为什么?通常在每条语句的末尾都必须使用分号。但是为什么有时我不能添加分号?
【解决方案2】:

去掉分号,加上右括号:

SELECT * 
FROM Student
WHERE name = 'Evan' AND (lastName = 'Bhops' OR lastName = 'Hops')  

【讨论】:

    猜你喜欢
    • 2017-02-20
    • 2017-07-15
    • 2010-12-24
    • 2016-07-10
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多