首页 > 解决方案 > 在 Google Apps 中查询 MySql 多个语句

问题描述

我正在使用 Google Apps 脚本连接到我的 MySql 数据库并运行查询。我正在使用“标准”var conn = Jdbc.getCloudSqlConnection (dbUrl, user, userPwd)stmt.executeQuery(QUERY). 这一切都很好。我现在需要运行多个查询,例如SET @DateFrom='2020-12-01'; SET @DateTo='2020-12-31'; SELECT * FROM database WHERE MyDate BETWEEN @DateFrom AND @DatoTo. 但这在 GAS 中失败了,我还没有找到运行多个查询的方法。甚至可能吗?谢谢!

标签: mysqlgoogle-apps-scriptjdbc

解决方案


想出了如何通过一些试验和错误来做到这一点。您需要执行多个stmt.executeQuery(QUERY)- 每个查询一个(显然)。

我首先创建了一个函数来清理字符串并将其拆分为一个数组:

 function oTrimAndSplit(inputString, delimiter) {
  var trimmed = inputString.trim();
  var length = trimmed.length;
  if (trimmed.slice(-1) == ";") trimmed = trimmed.slice(0, -1);
  var arr = trimmed.split(delimiter);
  return arr;
}

然后把它包起来:

var conn = Jdbc.getCloudSqlConnection (dbUrl, user, userPwd);
var queries = oTrimAndSplit(QUERY, ';');
queries.forEach(function(queriesElement) {
   stmt.executeQuery(queriesElement)
});

就是这样!


推荐阅读