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

Hibernace:duplicitní hodnota klíče porušuje jedinečné omezení

Když vytvoříte bigserial sloupec v Postgresql, ve skutečnosti vytváříte sekvenci . Když jste ručně vložili hodnotu ID '1', Postgresql neaktualizoval sekvenci, aby to vzal v úvahu. Hibernate umožňuje Postgresqlu použít sekvenci ke generování ID, ale první vytvořená hodnota je '1', která koliduje. Druhá hodnota je v pořádku.

Pokud jste problém vytvořili tím, že jste přešli za Hibernate a použili přímo SQL, měli byste jej opravit stejným způsobem:použijte ALTER SEQUENCE pro nastavení další hodnoty :

alter sequence basedesign_id_seq restart with 2;


  1. Jak izolace na úrovni transakcí ovlivňuje výkon v režimu autocommit v MySQL?

  2. Ovlivňuje počet sloupců rychlost MYSQL?

  3. Jak používat AI pro ladění SQL pro skutečný automatizovaný proces

  4. sysdate a dbtimezone se liší v databázi Oracle