Non è necessario il NOT NULL . È implicito quando si definisce la colonna PRIMARY KEYS
. Per documentazione:
Inoltre, serial implica anche NOT NULL
. Non è un tipo di dati di per sé, solo una comodità di notazione per integer NOT NULL con una sequenza allegata.
Quindi questa è la sintassi perfetta:
CREATE TABLE mytable (mytableid serial PRIMARY KEY);
Non è necessario citare due volte il nome della colonna purché non si desideri utilizzare maiuscole e minuscole identificatori , parole riservate o caratteri "illegali". Consiglierei di utilizzare identificatori legali e minuscoli esclusivamente per rendere il tuo codice meno soggetto a errori (e la tua vita più semplice).