【发布时间】:2020-02-28 21:31:10
【问题描述】:
我是 PostgreSQL 新手。我一直在尝试在数据库中创建表,但一些查询给出了奇怪的错误。第一个 sn-p 引发语法错误,但是当我在有问题的列上添加“串行”时,错误得到解决。 PostgreSQL 中的所有主键都应该自动递增吗?
CREATE TABLE songplays(
songplay_id PRIMARY KEY, --This does not work, it throws syntax error at or near "PRIMARY"
start_time VARCHAR (50) NOT NULL,
user_id VARCHAR (50) NOT NULL,
level VARCHAR (355) UNIQUE NOT NULL,
song_id VARCHAR (50) NOT NULL NOT NULL,
artist_id VARCHAR (50) NOT NULL NOT NULL,
session_id VARCHAR (50) NOT NULL NOT NULL,
location VARCHAR (50) NOT NULL NOT NULL,
user_agent VARCHAR (50) NOT NULL NOT NULL
);
这项工作在 songplay_id 上添加了串行约束
CREATE TABLE songplays(
songplay_id serial PRIMARY KEY,
start_time VARCHAR (50) NOT NULL,
user_id VARCHAR (50) NOT NULL,
level VARCHAR (355) UNIQUE NOT NULL,
song_id VARCHAR (50) NOT NULL NOT NULL,
artist_id VARCHAR (50) NOT NULL NOT NULL,
session_id VARCHAR (50) NOT NULL NOT NULL,
location VARCHAR (50) NOT NULL NOT NULL,
user_agent VARCHAR (50) NOT NULL NOT NULL
);
【问题讨论】:
标签: sql postgresql constraints ddl create-table