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

SERIAL-podobna kolumna INT

W systemie Informix DBMS kolumna SERIAL nie zmieni się po wstawieniu; w rzeczywistości nie można w ogóle zaktualizować wartości SERIAL. Możesz wstawić nowy z 0 jako wartością - w takim przypadku generowana jest nowa wartość - lub możesz wstawić inną wartość. Jeśli inna wartość już istnieje i istnieje unikalne ograniczenie, to się nie powiedzie; jeśli nie istnieje lub jeśli nie ma ograniczenia unikatowego dla kolumny szeregowej, to się powiedzie. Jeśli wstawiona wartość jest większa niż największa wstawiona poprzednio wartość, następna liczba do wstawienia będzie znowu o jedną większa. Jeśli wstawiona liczba jest mniejsza lub ujemna, nie ma to wpływu na następną liczbę.

Możesz więc dokonać aktualizacji bez zmiany wartości - nie ma problemu. Jeśli chcesz zmienić numer, będziesz musiał wykonać kasowanie i wstawianie (lub wstawianie i usuwanie), gdzie wstawka ma w sobie zero. Jeśli wolisz spójność i korzystasz z transakcji, zawsze możesz usunąć, a następnie (ponownie) wstawić wiersz z tym samym numerem lub zerem, aby wywołać nowy numer. Zakładamy, że masz język programowania, na którym działa SQL; Nie sądzę, aby można było dostosować ISQL i Perform, aby robić to automatycznie.

W tym momencie nie widzę problemu w Informix.

Z odpowiednią wersją IDS (wszystko, co jest obsługiwane), możesz użyć SEQUENCE do kontrolowania wstawianych wartości. Opiera się to na składni i koncepcji Oracle; DB2 również to obsługuje. Inne DBMS mają inne równoważne (ale różne) mechanizmy obsługi automatycznie generowanych liczb.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL nie znajduje się nigdzie na komputerze

  2. #1055 — Wyrażenie listy SELECT nie znajduje się w klauzuli GROUP BY i zawiera kolumnę niezagregowaną, co jest niezgodne z sql_mode=only_full_group_by

  3. Jak wykonać kopię zapasową bazy danych mysql za pomocą java?

  4. Zaawansowane łączenie MySQL. Przyspieszenie zapytania

  5. pasek postępu z zapytaniem mysql z php