Возвращение идентификатора после вставки SQLX в Go/Postgres

У меня проблемы с получением INSERT запрос на возврат ID из вставленных записано. Я вижу ошибку:

Unable to create record: pq: column "id" does not exist

Мое утверждение таково:

statement := fmt.Sprintf(`INSERT INTO "Deployments" values(%s) RETURNING ID`, deployment.GetDBFields())

Какие выходы для:

INSERT INTO "Deployments" values(:ID, :CreatedAt, :UpdatedAt, 
:DeploymentStartedAt, :DeploymentUpdatedAt, :Show, :ServiceVersion, 
:ServicePublicRoute, :Type, :GitOrganization, :OSEProject, :GitURL, 
:JIRA, :ServiceName, :HomeSite, :DockerDigest, :ConfigHash, :Site, 
:Environment, :ServiceDirectURL, :Replicated, :ServiceContract, 
:Username, :Status) RETURNING ID

INSERT запрос работает нормально, если я пропущу RETURNING ID часть, но я испытываю вышеупомянутую ошибку, если я включаю ее в свое утверждение.

Моя схема наверняка имеет столбец с именем ID, Первоначально я думал, что это была проблема с чувствительностью к регистру, но независимо от того, если я пытаюсь id или же ID это все еще терпит неудачу и возвращает сообщение об ошибке с id в нижнем регистре.

Кто-нибудь может дать мне подсказку о том, что мне не хватает?

0 ответов

Другие вопросы по тегам