在google sheets中将特定范围插入MYSQL

在google sheets中将特定范围插入MYSQL,mysql,jdbc,google-apps-script,google-sheets,Mysql,Jdbc,Google Apps Script,Google Sheets,我有一张简单的表格(从A1到B9) 我正在使用脚本将记录插入mysql表 function MysqlData() { var conn = Jdbc.getConnection('jdbc:mysql://mysite/myddb', 'user', 'pwd'); var stmt = conn.createStatement(); var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataR

我有一张简单的表格(从A1到B9)

我正在使用脚本将记录插入mysql表

function MysqlData() {
   var conn = Jdbc.getConnection('jdbc:mysql://mysite/myddb', 'user', 'pwd'); 
  var stmt = conn.createStatement();
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();

  for (var i = 0; i < data.length; i++) {
  var sql = "INSERT INTO test (field1, field2) VALUES ('" + data[i][0] + "'," + data[i][1] + ")";
  var count = stmt.executeUpdate(sql,1)
  }

  stmt.close();
  conn.close();
}
函数MysqlData(){ var conn=Jdbc.getConnection('Jdbc:mysql://mysite/myddb","用户","密码",; var stmt=conn.createStatement(); var sheet=SpreadsheetApp.getActiveSheet(); var data=sheet.getDataRange().getValues(); 对于(变量i=0;i 在包含表的页面上执行此脚本时,我得到错误:

“字段列表”中的未知列“try0”

我的代码中有什么错误?

您引用了(
''
)值1,但遗漏了值2:

var sql = "INSERT INTO test (field1, field2) VALUES ('" + data[i][0] + "','" + data[i][1] + "')";
但是,直接发送字符串会打开sql注入的大门。使用参数化语句:

  var sql = "INSERT INTO test (field1, field2) VALUES (?, ?)";
  var stmt = conn.prepareStatement(sql);
  for (var i = 0; i < data.length; i++) {
    stmt.setString(1, data[i][0]);
    stmt.setString(2, data[i][1]);
    stmt.addBatch();
  }
  stmt.executeBatch();
var sql=“插入测试(字段1,字段2)值(?,)”;
var stmt=conn.prepareStatement(sql);
对于(变量i=0;i
参考资料:
  var sql = "INSERT INTO test (field1, field2) VALUES (?, ?)";
  var stmt = conn.prepareStatement(sql);
  for (var i = 0; i < data.length; i++) {
    stmt.setString(1, data[i][0]);
    stmt.setString(2, data[i][1]);
    stmt.addBatch();
  }
  stmt.executeBatch();