sql >> Database >  >> RDS >> PostgreSQL

Wijzig de startwaarde van Django AutoField

Manieren om een ​​reeks in PostgreSQL in te stellen/te resetten

(niet noodzakelijkerwijs naar max(id) ).

  • Er is de eenvoudige manier die je hebt in de vraag. U kunt de reeks zo instellen dat deze op een willekeurig getal begint met setval() :

    SELECT setval('tbl_id_seq');
    
  • Dan is er nog de standaard SQL-manier met ALTER SEQUENCE hetzelfde doen:

    ALTER SEQUENCE myseq RESTART WITH 1;
    
  • Als u uw reeksen wilt herstarten op andere nummers dan de standaard 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
    
  • En er is een andere manier, wanneer u een tafel leegmaakt met TRUNCATE:

    TRUNCATE foo RESTART IDENTITY;
    

    Voert impliciet ALTER SEQUENCE foo_id_seq RESTART;




  1. Hoe kan ik een batch invoegen in een Oracle-database met Python?

  2. Achterliggende witruimte in MySQL verwijderen

  3. Een gebruiker met bestaande privileges snel verwijderen

  4. ATN2() Voorbeelden in SQL Server