File tree 1 file changed +53
-0
lines changed 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change
1
+ -- Generate a primary key using SERIAL or IDENTITY
2
+ CREATE TABLE users (
3
+ user_id SERIAL PRIMARY KEY ,
4
+ username VARCHAR (100 )
5
+ );
6
+
7
+ CREATE TABLE users_2 (
8
+ user_id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY ,
9
+ username VARCHAR (100 )
10
+ );
11
+
12
+ CREATE TABLE users_3 (
13
+ user_id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY ,
14
+ username VARCHAR (100 )
15
+ );
16
+
17
+ CREATE TABLE users_4 (
18
+ user_id INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 100 INCREMENT BY 2 ) PRIMARY KEY ,
19
+ username VARCHAR (100 )
20
+ );
21
+
22
+ -- Composite primary keys
23
+ CREATE TABLE users_dual (
24
+ id_1 int ,
25
+ id_2 int ,
26
+ PRIMARY KEY (id_1, id_2)
27
+ );
28
+
29
+ SELECT *
30
+ FROM users_dual;
31
+
32
+ -- Generate UUID as primary key
33
+ CREATE EXTENSION IF NOT EXISTS " uuid-ossp" ;
34
+ DROP EXTENSION " uuid-ossp" ;
35
+
36
+ SELECT gen_random_uuid(), uuid_generate_v4();
37
+
38
+ -- Generate a sequence
39
+ DROP SEQUENCE user_sequence;
40
+ CREATE SEQUENCE user_sequence ;
41
+
42
+ SELECT
43
+ CURRVAL(' user_sequence' ),
44
+ NEXTVAL(' user_sequence' ),
45
+ CURRVAL(' user_sequence' );
46
+
47
+ CREATE TABLE users_6 (
48
+ user_id INTEGER PRIMARY KEY DEFAULT NEXTVAL(' user_sequence' ),
49
+ username VARCHAR (100 )
50
+ );
51
+
52
+ SELECT *
53
+ FROM users_6;
You can’t perform that action at this time.
0 commit comments