通过PostgreSQL唯一地插入数据库

Léo*_* 준영 5 database postgresql

我的桌子

  question_id   |              title              |      user_id   |
+---------------+---------------------------------+----------------+
Run Code Online (Sandbox Code Playgroud)

它的类型是

                Column                 |            Type             |                            Modifiers                            
---------------------------------------+-----------------------------+-----------------------------------------------------------------
 question_id                           | integer                     | not null default nextval('questions_question_id_seq'::regclass)
 title                                 | character varying(256)      | 
 user_id                               | integer                     | 
Run Code Online (Sandbox Code Playgroud)

我跑

INSERT INTO questions VALUES (SERIAL, 'question title', 123);
Run Code Online (Sandbox Code Playgroud)

我收到有关使用SERIAL的错误.

如何通过PostgreSQL自动将问题添加到表中?

Pab*_*ruz 16

默认值您将自动从数据库中的序列生成(序列)数字.所以你可以做一个简单的事情:

insert into questions (title, user_id) values ('question_title', 123);
Run Code Online (Sandbox Code Playgroud)

由于**questions_question_id_seq**序列,它将在question_id字段中插入AUTO INCREMENTED数字.

或者,在insert子句中,您也可以使用序列,而不是使用SERIAL.但我宁愿使用我建议的第一句话:

insert into questions values (nextval('questions_question_id_seq'), 'question_title', 123);
Run Code Online (Sandbox Code Playgroud)