Mysql
 sql >> Baza danych >  >> RDS >> Mysql

JPA lub Hibernate, aby wygenerować wartość kolumny (nie klucz podstawowy), nie zaczynając od 1

@GeneratedValue działa tylko dla identyfikatorów, więc nie możesz go używać. Jeśli używasz MySQL, jesteś dość ograniczony, ponieważ sekwencje bazy danych nie są obsługiwane.

InnoDB nie obsługuje wiele kolumn AUTO_INCREMENT a jeśli PK twojego stołu to AUTO_INCREMENTED, masz dwie opcje:

  1. Wybierz osobną tabelę, która zachowuje się jak generator sekwencji, rozwiązanie, z którego już powiedziałeś, że nie jesteś zadowolony.

  2. Użyj INSERT TRIGGER aby zwiększyć tę kolumnę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Asynchroniczne wywołania bazy danych węzła JS

  2. Kiedy powinienem używać UNSIGNED i SIGNED INT w MySQL?

  3. MySQL WYBIERZ GDZIE NA LIŚCIE i NIE NA LIŚCIE w tym samym SQL

  4. Python db-api:fetchone vs fetchmany vs fetchall

  5. Wiele małych zapytań a jedno długie zapytanie. Który z nich jest bardziej wydajny?