我不明白此查询出了什么问题?查询工具不想在PostgreSQL中创建表。
CREATE TABLE article (
article_id bigint(20) NOT NULL auto_increment,
article_name varchar(20) NOT NULL,
article_desc text NOT NULL,
date_added datetime default NULL,
PRIMARY KEY (article_id)
);
我不明白此查询出了什么问题?查询工具不想在PostgreSQL中创建表。
CREATE TABLE article (
article_id bigint(20) NOT NULL auto_increment,
article_name varchar(20) NOT NULL,
article_desc text NOT NULL,
date_added datetime default NULL,
PRIMARY KEY (article_id)
);
Answers:
首先,bigint(20) not null auto_increment
将无法使用,只需使用即可bigserial primary key
。然后datetime
是timestamp
在PostgreSQL中。总而言之:
CREATE TABLE article (
article_id bigserial primary key,
article_name varchar(20) NOT NULL,
article_desc text NOT NULL,
date_added timestamp default NULL
);
auto_increment
是MySQL功能。Postgres将serial
列用于相同目的。
serial
和bigserial
。由于Q中包含了bigint(20)
我选择bigserial
的答案。在这种情况下,这是一个更好的匹配。
更换bigint(20) not null auto_increment
由bigserial not null
并且
datetime
通过timestamp
请尝试以下方法:
CREATE TABLE article (
article_id bigint(20) NOT NULL serial,
article_name varchar(20) NOT NULL,
article_desc text NOT NULL,
date_added datetime default NULL,
PRIMARY KEY (article_id)
);
bigint(20)
在Postgres中无效。另外,您不能同时指定bigint
和 serial
。有关正确的语法,请参见接受的答案