2012-12-21 18 views

risposta

2

Se si desidera ripristinare la sequenza poi:

setval('sequence_name', 0) 

Per elencare l'esistente problema nomi delle sequenze a \ds al prompt di psql.

+0

Si noti che per l'identificazione programmatica di sequenza di un campo non c'è la funzione pg_get_serial_sequence. selezionare pg_get_serial_sequence ('tablename', 'colname'); –

+0

ID errato significa, non è un valore ID di generazione effettivo. – user1369887

44

Prova

TRUNCATE TABLE table_name 
RESTART IDENTITY; 

Sarà

Automatically restart sequences owned by columns of the truncated table(s).

dettagli qui: TRUNCATE

+0

ERRORE: errore di sintassi ao vicino a "RESTART" LINEA 1: prodotto tabella troncata RESTART IDENTITY; – user1369887

+0

@ user1369887 Quale versione di PostgreSQL hai? –

+0

La mia versione server è: server 8.3.16 – user1369887

9

seguito è il modo standard per ripristinare la sequenza:

truncate table table_name restart identity; 

ma in qualche ver Sion & piattaforma, è errore di sintassi,

in tal caso, è possibile troncare senza sequenza di reset, e alterare la sequenza con un altro SQL, provate questo:

truncate table table_name; 
alter sequence seq_name start 1; 
2

Controllare la prossima

ALTER SEQUENCE sequence_name RESTART WITH 1; 
1

Il modo migliore per reimpostare una sequenza per ricominciare con il numero 1 è eseguire quanto segue dopo averlo troncato correttamente:

ALTER SEQUENCE <tablename>_<id>_seq RESTART WITH 1 

Così, per esempio per la tabella degli utenti sarebbe:

ALTER SEQUENCE users_id_seq RESTART WITH 1 
+1

Grazie per questo snippet di codice, che potrebbe fornire un aiuto limitato e immediato. Una spiegazione appropriata [migliorerebbe notevolmente] (// meta.stackexchange.com/q/114762) il suo valore a lungo termine mostrando * perché * questa è una buona soluzione al problema e lo renderebbe più utile ai futuri lettori con altre domande simili. Per favore [modifica] la tua risposta per aggiungere qualche spiegazione, incluse le ipotesi che hai fatto. –

+0

Ecco qua ... – jahmed31

Problemi correlati