我在自己的Google Cloud SQL数据库中添加了一个带有自动递增列的表格。Google Cloud SQL + RETURN_GENERATED_KEYS
如何通过google-apps-script/JDBC执行INSERT
查询并获取新增列的值?
例如,我的专栏名为ticket_id
。我想INSERT
,并在结果集中返回新的ticket_id
值。
换句话说,如果我有以下的结构,什么话我需要修改或者怎么样,让我可以这样做rs = stmt.getGeneratedKeys();
var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms:.......
var stmt = conn.createStatement();
//build my INSERT sql statement
var sql = "insert into ......
var rs = stmt.executeUpdate(sql);
我看到有一个JDBC语句类与名为RETURN_GENERATED_KEYS
的成员,但我至今还不够聪明,无法弄清楚如何正确操纵它并获得我所需要的东西。 RETURN_GENERATED_KEYS
是一个常数,是它的一个属性,还是我该如何使用它?
不错!谢谢Arun,工作完美。尽管我在Oracle/Java文档中看到了GetGeneratedKeys方法,但我没有在Google Apps脚本JDBC文档中看到它,所以我从来没有想过只是试试它。 – Biff
阿伦,这固定了我的一个问题。但也许你可以给我一些关于以下内容的更多信息: 由于昨天stmt.getGeneratedKeys();失败并显示错误: 未请求生成的密钥。您需要将Statement.RETURN_GENERATED_KEYS指定为Statement.executeUpdate()或Connection.prepareStatement()。 我改变了stmt.prepareStatement(sql)之后stmt.prepareStatement(sql,1)它再次工作。 昨天有什么改变,使失踪的int失败,这是正确的把戏? –