PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Hibernacja:zduplikowana wartość klucza narusza ograniczenie unikalności

Kiedy tworzysz bigserial kolumna w Postgresql, faktycznie tworzysz sekwencję . Po ręcznym wstawieniu wartości identyfikatora „1” Postgresql nie zaktualizował sekwencji, aby wziąć to pod uwagę. Hibernate pozwala Postgresql na użycie sekwencji do wygenerowania identyfikatora, ale pierwsza wygenerowana wartość to „1”, co powoduje konflikt. Druga wartość jest w porządku.

Jeśli stworzyłeś problem, przechodząc za Hibernate i używając bezpośrednio SQL, powinieneś naprawić go w ten sam sposób:użyj ALTER SEQUENCE aby ustawić następną wartość :

alter sequence basedesign_id_seq restart with 2;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyszukiwać w polu json zawierającym tablicę obiektów za pomocą Eloquent

  2. Jak odświeżyć encje JPA, gdy baza danych zaplecza zmienia się asynchronicznie?

  3. Ile miejsca na dysku potrzeba do przechowywania wartości NULL przy użyciu postgresql DB?

  4. SQL JOIN w PostgreSQL - inny plan wykonania w klauzuli WHERE niż w klauzuli ON

  5. Tablice wielowymiarowe PostgreSQL