How to get IDs of ALL new rows instead of just one from RDS.executeStatement?

0

When inserting rows into an Aurora RDS database, RDS will only return this:

{ generatedFields: [ { longValue: 26 } ], numberOfRecordsUpdated: 3 }

Which is obviously wrong and pretty useless. RDS knows it just inserted 3 rows, but only returns 1 new ID (not even the last one, but the first). Is there any way to fix this and get the full, correct information?

(Calling RDS from Lambda Node btw)

질문됨 3년 전542회 조회
2개 답변
0

Hello Kevin!

Q1: I'm afraid I am not quite sure what your question is. The returned object looks exactly like posted. The only ID returned is the 26 there. Q2: If there were 3 records updated, I would expect RDS to return 3 IDs, of course. Not only 1. Like this:

{ generatedFields: [{ longValue: 26 }, { longValue: 27 }, { longValue: 28 }] , numberOfRecordsUpdated: 3 }
답변함 3년 전
  • Hi,

    Thank you for getting back to me here with desired view. Let me check with the team and get back to you with feedbacks.

0

Hi,

From the description, if I am understanding correct are you referring to that:

From lambda, when you insert 3 rows to the Aurora RDS database (Aurora MySQL/PostgreSQL/MySQL Serverless/PostgreSQL Serverless, may you confirm which one?) then you are getting below as return from insert call:

{ generatedFields: { longValue: 26 } , numberOfRecordsUpdated: 3 }

Q1: May you elaborate how the return of ID looks like?

From the public doc: https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_ExecuteStatement.html#API_ExecuteStatement_ResponseElements

The returned field as listed.

Q2: May you elaborate more on how you want the return looks like?

AWS
지원 엔지니어
Kevin_Z
답변함 3년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인