비어있는 테이블에서 데이터를 받을때.

받아지던 데이터 구조가 바뀌었네요? 에러가 나서 뜬금없이… 확인해보니 비어있던 테이블에서 컨텐츠를 받아도 들어오던 기본 컬럼 키들이 이제 비어있는채로 들어오나봐요… 첫 삽입때 표시한 컬럼이 없으면 생성하고 있으면 indate 받아서 Update하도록 짜놨었는데 컬럼들이 다 사라져있네요. 계속 이렇게 가고 변경 없는건가요?

에러가 발생한 경우 아래 정보를 모두 제공해주시면 보다 정확한 답변이 가능합니다!

  • SDK 버전 : 4.6.0
  • 에러 코드 :
  • 스테이터스 코드 :
  • 에러메시지 :

안녕하세요 개발자님

데이터 구조의 경우 변경된 것이 없습니다.

어떤 것을 질문하시는 것인지 잘 모르겠어서 여쭤봅니다.

스키마를 정의한 테이블을 사용하고 계신가요? 스카마를 정의하지 않은 테이블을 사용하고 계신가요?
전자의 경우 GameSchemaInfo, 후자의 경우 GameInfo의 함수를 사용합니다.

그리고 현재 문제가 되는 상황은

한 유저가 A라는 테이블에 상호작용을 하는데

해당 유저가 A테이블에 데이터가 있는지 확인을 위해 Get을 하고
Get의 결과가 없으면 새로 삽입을 하고,
Get의 결과가 있으면 해당 테이블의 indate값을 가져와 그 inDate값을 이용하여 Update를 시도하려는 상황인 것이 맞나요?

그리고 현재 문제가 되는 것은 A테이블의 데이터 확인을 위해 Get을 할 때 무언가 문제가 발생하시는 것인가요?

우선 privateTable을 기준으로 스키마 미정의 테이블의 경우 검색하고자 하는 테이블이 존재하지 않을 때

statusCode : 200
message : Success
returnValue : {“rows”:[]}

스키마 정의 테이블의 경우 검색하고자 하는 테이블이 존재하지 않을 때

statusCode : 404
errorCode : NotFoundException
message : data not found, data을(를) 찾을 수 없습니다

가 리턴이 됩니다.

또한 스키마 미정의 테이블의 컬럼값의 경우 해당 테이블이 가지고 있는 컬럼값만 리턴이 됩니다.

가령 A 테이블에 apple 유저는 b,c라는 컬럼을 삽입했고,
android 유저는 c,d 컬럼을 삽입했을 때 각 유저는 테이블을 Get 하면

apple의 결과값에는 b,c 만, android 결과값에는 c,d만 표시됩니다.

퍼블릭 빈테이블을 불러올때는 키값이 검색되었는데 프라이빗빈테이블을 불러올때는 안되는 차이가 있었던 거 같습니다. 다른 방법으로 해결을 보긴 했습니다. 스키마 미정의 테이블들을 사용했구요. publictable 데이터 스키마 미정의는 {“rows”:[]}값이 리턴되는게 아니고 아마 생성되었던 칼럼이 테이블 데이터를 비어도 그대로 남아서 전해지는게 있었던거 같아요.

안녕하세요 개발자님

퍼블릭 테이블의 경우 자신의 데이터 뿐만 아니라 타인의 데이터도 함께 불러오기 때문에 자신의 테이블을 삭제해도 타인의 값이 함께 불러와질 수 있습니다.

자신의 퍼블릭 테이블만 불러오기 위해서는

Backend.GameInfo.GetMyPublicContents

이 함수를 사용해보세요.