【问题标题】:Firing two queries on mysql server gives error在 mysql 服务器上触发两个查询会出错
【发布时间】:2012-04-20 13:19:25
【问题描述】:

我正在通过 jdbc PreparedStatement 触发两个选择查询,
查询由 分号(默认分隔符),
它给了我以下错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'select inq.preffered_date as 'dom' , inq.id from assigned_inquiries ai join inqu' 附近使用正确的语法

select inq.preffered_date as ......... 是第二个查询开始的地方。

编辑-> 查询

select
    ms.next_date_of_meeting as 'dom',
    ms.inquiry_id as 'id'
from
    assigned_inquiries ai,
    meeting_status ms
where
    ai.representative_id = 1
    and (
        ai.status = 'postponed'
        or ai.status = 'remeeting'
    )
    and ai.inquiry_id = ms.inquiry_id
    and ms.next_date_of_meeting between '2012-1-1' and '2012-12-31'
    and ms.created_on = (select max(created_on) from meeting_status where inquiry_id = ms.inquiry_id);

select
    inq.preffered_date as 'dom',
    inq.id
from
    assigned_inquiries ai
    join inquiry inq on ai.inquiry_id = inq.id
where
    ai.representative_id = 1
    and ai.status = 'new'
    and inq.preffered_date between '2012-1-1' and '2012-12-31';

是否可以一次执行两个查询。 请帮忙。

【问题讨论】:

  • 在我看来这两个查询并不是问题所在。你能发布你的查询吗?
  • 我不认为这与“Preferred_date”拼写错误有关吗?
  • 我认为你不能在一个准备好的语句中发送两个 select 语句。
  • @JeremyHolovacs:我也注意到了这一点,但根据错误消息,看起来不是问题所在。

标签: mysql sql jdbc


【解决方案1】:

您可以使用 MySQL 一次执行多个语句。但是,默认情况下禁用此功能。要启用它,请使用属性allowMultiQueries。有关 JDBC 驱动程序的更多信息,请参阅 MySQL 文档:http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-configuration-properties.html

【讨论】:

  • jdbc:mysql://localhost:3306/salesorder?allowMultiQueries=true 是提到属性的正确格式
猜你喜欢
  • 1970-01-01
  • 2015-07-05
  • 1970-01-01
  • 2021-08-24
  • 2012-04-17
  • 2019-06-14
  • 2015-07-17
  • 2021-09-07
  • 1970-01-01
相关资源
最近更新 更多