Мой запрос postgres:
query = """INSERT INTO statustable(value) SELECT '%s'
WHERE NOT EXISTS (SELECT id, value FROM statustable
WHERE value = '%s') RETURNING id""" % (status, status)
cursor_postgres.execute(query)
conn_postgres.commit()
statusId = cursor_postgres.fetchone()[0]
print "statusId" + str(statusId)
Мне нужно получить недавно вставленный идентификатор значения состояния, если он не существует, или выбрать его идентификатор, если он уже существует.RETURNING id
полностью перекрыл этот запрос, поэтому мне пришлось удалить его, чтобы как минимум заставить работать выборочную вставку.
Любые подсказки, как получить статусId здесь?В другом случае я делаю Upsert. (Вставьте, если не существует, обновите в противном случае). Здесь снова, мне нужен вставленный или обновленный идентификатор строки.(Нет, я не использую хранимые процедуры, если это был ваш первый вопрос ...)
Заранее спасибо