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

Upravte počáteční hodnotu Django AutoField

Způsoby nastavení/resetování sekvence v PostgreSQL

(ne nutně na max(id) ).

  • Existuje jednoduchý způsob, který máte v otázce. Pomocí setval() můžete nastavit, aby sekvence začínala na libovolném čísle :

    SELECT setval('tbl_id_seq');
    
  • Pak je tu standardní způsob SQL s ALTER SEQUENCE uděláte totéž:

    ALTER SEQUENCE myseq RESTART WITH 1;
    
  • Pokud chcete restartovat sekvence s jinými čísly, než je výchozí 1:

    CREATE TABLE foo(id serial, a text);      -- creates sequence "foo_id_seq"
    INSERT INTO foo(a) VALUES('a');           -- seq. starts with --> 1
    
    ALTER SEQUENCE foo_id_seq START WITH 10;  -- doesn't restart sequence
    INSERT INTO foo(a) VALUES('b');           --> 2
    
    ALTER SEQUENCE foo_id_seq RESTART;        -- restarts sequence
    INSERT INTO foo(a) VALUES('c');           --> 10
    
  • A existuje další způsob, když vyprázdníte tabulku pomocí TRUNCATE:

    TRUNCATE foo RESTART IDENTITY;
    

    Implicitně provede ALTER SEQUENCE foo_id_seq RESTART;




  1. Jak přidat kódování xml <?xml verze=1.0 kódování=UTF-8?> do výstupu xml na serveru SQL

  2. 5 jednoduchých kroků, jak začít s MariaDB a Tableau

  3. MariaDB LAST_INSERT_ID() Vysvětleno

  4. Oracle Database Explorer:bezplatné školení a akreditace