Почему не работает условие по уникальному индексу?

есть индекс в таблице cart
CREATE UNIQUE INDEX a_cart_offer_user_unique
          ON cart
          USING btree(offer_id, user_id)
          WHERE order_id IS NULL

и в ней уже содержится кортеж со значениями
id | 5557
user_id   | 15
offer_id  | 526
order_id | 15446
я пытаюсь выполнить
INSERT INTO "cart" ("user_id", "offer_id", "order_id")
VALUES (15, 526, NULL)

и получаю ошибку
[23505] ERROR: duplicate key value violates unique constraint "a_cart_offer_user_unique": Key (offer_id, user_id)=(526, 15) already exists.
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Что не работает, если работает как раз как и должно?

Уже есть такая запись, падает с ошибкой при попытке создать дубликат.
Ответ написан
AshBlade
@AshBlade
Просто хочу быть счастливым
Попробуй переиндексировать таблицу: REINDEX TABLE cart;
Также, возможно уже есть такая запись с NULL
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы