Михаиллл
Наурыз 27, 2020, 6:49 Т.Қ.

Как обновить или вставить в PostgreSQL

Добрый день.
У меня есть таблица в PostgreSQL с ключем id.
Как правильно вставить или заменить?
Если делаю так, то плдучаю ошибку :нет уникального ограничения или ограничения-исключения, соответствующего указанию ON CONFLICT

  1. INSERT INTO public.drivers(
  2. name_driver, surname, middle_name )
  3. VALUES ('name', 'surname', 'midlename2')
  4. ON CONFLICT (middle_name) --WHERE middle_name ='name_driver3'
  5. DO UPDATE SET
  6. name_driver = 'name_driver3',
  7. surname = 'surname3',
  8. middle_name = 'middle_name3'
2

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

1
Михаиллл
  • Наурыз 27, 2020, 8 Т.Қ.
  • Жауап шешім ретінде белгіленді.

Оказывается нужно сделать столбец уникальным

  1. ALTER TABLE public.drivers ADD UNIQUE (agregator1_id);

Потом так работает

  1. INSERT INTO drivers(
  2. name_driver, surname, middle_name, agregator1_id )
  3. VALUES ('name', 'surname', 'midlename', '111')
  4. ON CONFLICT (agregator1_id)
  5. DO UPDATE SET
  6. name_driver = 'name_driver1',
  7. surname = 'surname1',
  8. middle_name = 'middle_name1'

    Пікірлер

    Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
    Кіріңіз немесе Тіркеліңіз