【问题标题】:How to run multiple queries in row safely?如何安全地连续运行多个查询?
【发布时间】:2018-05-07 06:41:29
【问题描述】:

我有以下查询,我可以一一运行成功,

Delete from eventor.user_role ;
Delete FROM eventor.role ;
delete from eventor.user ;

但是当我将它们全部一起运行时,它会报错:

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 'Delete FROM eventor.role ;

这对我来说是一个惊喜,因为我可以运行

 Delete FROM eventor.role ;

成功了,我已经使用; 终止了所有查询。

那么,为什么会出现这个问题,我该如何解决?

【问题讨论】:

  • 你用什么来运行查询?
  • 先删除外键表,最后删除主表数据
  • 可以在语句之间尝试像“GO”这样的批处理分隔符吗?
  • 我使用Aqua Data直接对mysql运行查询
  • 发布你用来执行所有 3 的代码。

标签: mysql sql aqua-data-studio


【解决方案1】:

根据http://www.aquafold.com/support_faq#commands

问:具有多个语句的脚本返回错误,而每个语句 语句可以单独执行而不会出错。

例子:

select * from t1 select * from t2 select * from t3

此脚本返回错误。

Aqua Data Studio 使用“go”或“/”符号作为行分隔符 声明。
这是同一脚本的更正示例:

select * from t1
/
select * from t2
/
select * from t3

select * from t1
go
select * from t2
go
select * from t3
go

尝试使用go/ 而不是;

【讨论】:

    【解决方案2】:
    • File 中选择 Options,然后选择 General
    • 检查**';' Statement separator

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 2014-10-13
      • 1970-01-01
      相关资源
      最近更新 更多