Sto provando a creare una tabella con una colonna di incremento automatico come di seguito. Poiché Redshift psql non supporta SERIAL, ho dovuto usare IDENTITY data type:Redshift psql incremento automatico sul numero pari
IDENTITÀ (sementi, step)
clausola che specifica che la colonna è una colonna IDENTITY. Una colonna IDENTITY contiene valori auto generati unici. Questi valori iniziano con il valore specificato come seed e incrementano il numero specificato come step. Il tipo di dati per una colonna IDENTITY deve essere o INT o BIGINT.`
la mia istruzione CREATE TABLE è simile al seguente:
CREATE TABLE my_table(
id INT IDENTITY(1,1),
name CHARACTER VARYING(255) NOT NULL,
PRIMARY KEY(id)
);
Tuttavia, quando ho provato ad inserire i dati in my_table
, righe incrementano solo sul numero pari, come di seguito:
id | name |
----+------+
2 | anna |
4 | tom |
6 | adam |
8 | bob |
10 | rob |
mie istruzioni iNSERT assomigliano di seguito:
INSERT INTO my_table (name)
VALUES ('anna'), ('tom') , ('adam') , ('bob') , ('rob');
Ho anche problemi a riportare indietro la colonna id per iniziare con 1. Esistono soluzioni per il tipo di dati SERIAL
, ma non ho visto alcuna documentazione per IDENTITY
. Qualsiasi suggerimento sarebbe molto apprezzato!
Strano. Ho provato il tuo codice e non vedo il problema. Gli ID sono 1-5. – Anthony
Ho lo stesso problema durante il caricamento di un file csv da s3 a redshift. –
Per la cronaca, ho lo stesso problema. Strano come non sia coerente. (Ho fatto IDENTITÀ (0,1) come ha detto Jorge di seguito, ma il secondo dovrebbe essere tutto ciò che conta Mi chiedo se sia un bug regionale? Io sono su noi-ovest-2 (Oregon) – Cognitio