자동 증가 열이있는 Google Cloud SQL 데이터베이스에 테이블이 있습니다.Google Cloud SQL + RETURN_GENERATED_KEYS
google-apps-script/JDBC를 통해 INSERT
쿼리를 실행하고 새로 증분 된 열의 값을 다시 얻으려면 어떻게해야합니까?
예를 들어, 내 열의 이름은 ticket_id
입니다. INSERT
을 원하고 새로운 ticket_id
값을 결과 집합에 반환해야합니다. 나는 다음과 같은 구조를 가지고 있다면 나는이 JDBC 문 클래스가 함께 있다는 것을 볼 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);
처럼 뭔가를 할 수 있도록 즉
는, 나는 어떻게 수정하거나 무엇을해야 회원은 RETURN_GENERATED_KEYS
라고 불렀지 만 지금까지 제대로 조작하고 필요한 것을 얻는 방법을 알아내는 데는 현명하지 못했습니다. RETURN_GENERATED_KEYS
은 상수입니까, 속성입니까, 아니면 어떻게 사용할 수 있습니까?
니스! 감사합니다 Arun은 완벽하게 작동했습니다. Oracle/Java 문서에서 GetGeneratedKeys 메소드를 보았지만 Google Apps Script JDBC 문서에서는 GetGeneratedKeys 메소드를 보지 못 했으므로 시도하지 않으려 고 생각했습니다. – Biff
Arun,이 문제가 해결되었습니다. 하지만 어쩌면 당신은 나에게 다음에 대한 더 많은 정보를 줄 수 있습니다 : 어제 이후 stmt.getGeneratedKeys(); 오류로 실패했습니다 : 생성 된 키가 요청되지 않았습니다. Statement.executeUpdate() 또는 Connection.prepareStatement()에 Statement.RETURN_GENERATED_KEYS를 지정해야합니다. stmt.prepareStatement (sql) tot stmt.prepareStatement (sql, 1)을 변경 한 후 다시 작동했습니다. 어제 변경된 내용이 누락 된 int를 실패로 만들었으며 이것이 올바른 트릭입니까? –