Задать вопрос
@akrel

Как организовать внос данных в базу данных?

У меня есть вк бот на пайтоне с подключенной базой данных, в нем есть код который автоматически находит из всех участников беседы администраторов и заносит их в owner в таком виде [595883127, 208790503, 43666547, и т.д]
вот сам код:
owner = [] 
			
for manager in vk_session.method("messages.getConversationMembers", {
	"peer_id": 2000000000 + id, 
	'fields': 'profiles'
	})['items']:
	if manager.get("is_admin", False):
		owner.append(manager['member_id'])

Подскажите, как можно вытаскивать из owner по 1 id, проверять нет ли в базе данных такого id, если есть то проверять следующий id, если нет то заносить его и дальше проверять остальные?
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Решение пользователя mayton2019 К ответам на вопрос (2)
mayton2019
@mayton2019
Bigdata Engineer
Сколько работаю с БД - впервые слышу глагол "внос". Слышал: загрузка, input, ingestion, migration, load, pull.

Ладно. Вобщем ты конено тег не поставил БД. В классическом SQL я не помню такой команды. Но в Postgres есть
insert ... on conflict ...
где ты указываешь что делать если ключик уже есть.

В Oracle можно сделать как-то так
merge into .... using dual on (key = key)
         when not matched then insert (...) values (...)
             when matched then update set ....;


И возможно в современных SQL/Nosql системах уже UPSERT поддерживается нативно.
Ответ написан