Supabase Python upsert on_conflict для многоцелевых ограниченийPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Supabase Python upsert on_conflict для многоцелевых ограничений

Сообщение Anonymous »

У меня есть следующая таблица: < /p>

Код: Выделить всё

create table public.paper (
title text not null,
abstract text null,
venue text null,
doi text null,
id uuid not null default gen_random_uuid (),

constraint paper_pkey primary key (id),
constraint paper_doi_key unique (doi),
constraint paper_id_key unique (id),
constraint unique_title_abstract unique (title, abstract),
constraint unique_title_venue unique (title, venue)
) TABLESPACE pg_default;
< /code>
Я соскребаю бумаги с нескольких веб -сайтов и храню их на Supabase. Тем не менее, я хочу иметь возможность обрабатывать дубликаты. Если есть дубликаты, я хочу обновить вместо этого. Если нет других решений, пропуск этой строки будет хорошо.try:
res_papers = (
supabase.table("paper").upsert(papers_without_authors, on_conflict="doi,(title,venue),(title,abstract)").execute()
)
paper_id_map = {paper["title"]: paper["id"] for paper in res_papers.data}
except RuntimeError as e:
raise RuntimeError(f"Error upserting papers: {e}") from e
< /code>
Это привело к ошибке: неожиданная ошибка в upsert_papers: {'message': '"Не удалось проанализировать параметр on_conflict (doi, (заголовок, место), (заголовок, абстрактный))" (строка 1, столбец 5)', «код»: «pgrst100», «hint»: «Нет». [a..z0..9 _ $]) '} 
Я также пытался написать столбцы отдельно: doi, заголовок, место, абстрактное .
Однако я получил следующую ошибку: неожиданная ошибка в epsert_paper '42p10', 'nti-’: none,' details ': none}
Я не смог найти никакой информации о документации для обработки уникальных ограничений с несколькими столбцами.

Подробнее здесь: https://stackoverflow.com/questions/796 ... onstraints
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Swiperefreshlayout Conflict Conflict с фрагментами
    Anonymous » » в форуме Android
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как распознать конфликт в sqlalchemy INSERT…ON CONFLICT (Upsert)
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как интегрировать функцию Supabase supabase.composeAuth.rememberSignInWithGoogle() в ViewModel?
    Anonymous » » в форуме Android
    0 Ответы
    66 Просмотры
    Последнее сообщение Anonymous
  • Supabase PostgreSQL JDBC Connection не работает с неизвестным Hostexception (AWS-0-US-WEST-1.Pooler.supabase.com)
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Обработка предложений, специфичных для версии языка C#, в многоцелевых решениях
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»