sql >> Databáze >  >> RDS >> PostgreSQL

proč PG::UniqueViolation:ERROR:duplicitní hodnota klíče porušuje jedinečné omezení?

Abychom problém vyřešili, musíme říci ActiveRecord, aby se podíval na sekvenci tabulky:

ActiveRecord::Base.connection.reset_pk_sequence!('table_name')

Nyní by měl mít ActiveRecord správnou hodnotu sekvence a měl by být schopen správně přiřadit nová ID.

Chcete-li vyřešit chybu

PG::UniqueViolation:ERROR:duplicitní hodnota klíče porušuje jedinečné omezení "moderations_reportable" DETAIL:Klíč (reportable_type, reportable_id)=(Příspěvek, 25) již existuje. :INSERT INTO "moderations" ("blog_id", "reportable_type", "reportable_id", "created_at", "updated_at", "blog_type") VALUES ($1, $2, $3, $4, $5, $6) VRACÍ "id"

Protože došlo k chybě v tabulce 'moderací'.

Spusťte následující z konzoly Rails opravit

ActiveRecord::Base.connection.reset_pk_sequence!('moderations')

Děkuji



  1. Sqlite Android Raw Query INSERT INTO nefunguje

  2. Správa souborů MDF na serveru SQL Server 2019

  3. Jak najdu všechny tabulky v MySQL se specifickými názvy sloupců?

  4. Chyba PostgreSQL:Závažná:uživatelské jméno role neexistuje