-
Notifications
You must be signed in to change notification settings - Fork 0
/
field_constraints.psql
22 lines (15 loc) · 1.19 KB
/
field_constraints.psql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-- Field constraints
CREATE TABLE table_name (
field_name -- Field name such as id, title etc -- an identifier and not a field constraint
data_type -- what data type this field is, this is a field constraint should have a dedicated section as there are many data types
-- FIELD constraints
PRIMARY KEY -- Primary key of the table - The field is also unique
GENERATED ALWAYS AS IDENTITY -- auto increment number for each record starting from 1 all the way to 2147483647 which is approximately 2.1B records
SERIAL --
-- serial is the "old" implementation of auto-generated unique values that has been part of Postgres for ages. However that is not part of the SQL standard. postgresql-serial-vs-identity
-- The underlying implementation is still based on a sequence, the definition now complies with the SQL standard. One thing that this new syntax allows is to prevent an accidental override of the value.
-- From stack overflow : https://stackoverflow.com/questions/55300370/
UNIQUE -- unique values only in the field
NULL -- values can be null. This is the default constraint and need not be specified
NOT NULL -- values cannot be null, need to be set explicitly.
)