通过PostgreSQL唯一地插入到数据库中
我的桌子通过PostgreSQL唯一地插入到数据库中,postgresql,database,Postgresql,Database,我的桌子 question_id | title | user_id | +---------------+---------------------------------+----------------+ 它的类型是 Column | Type | Mo
question_id | title | user_id |
+---------------+---------------------------------+----------------+
它的类型是
Column | Type | Modifiers
---------------------------------------+-----------------------------+-----------------------------------------------------------------
question_id | integer | not null default nextval('questions_question_id_seq'::regclass)
title | character varying(256) |
user_id | integer |
我跑
我得到了一个关于使用串口的错误
如何通过PostgreSQL自动将问题添加到表中,并采用唯一的问题id?默认值将根据数据库中的序列自动生成(序列)号。所以你可以做一个简单的:
insert into questions (title, user_id) values ('question_title', 123);
它将在问题id字段中插入一个自动递增的数字,因为**问题id\顺序**
或者,在insert子句上,也可以使用sequence,而不是使用SERIAL。但我宁愿用我建议的第一句话:
insert into questions values (nextval('questions_question_id_seq'), 'question_title', 123);
通常,您不需要指定唯一id,因为这是在服务器端完成的。您应该使用以下命令:INSERT INTO questions (title, user_id) VALUES ('question title', 123);
自动id处理是通过“问题\u问题\u id\u顺序”来完成的,正如您在修改器部分中看到的那样。您也可以使用
Create Table tbl_1 ( id SERIAL , name varchar(30));
您可以继续插入数据,如
insert into tbl_1(name) values('xyz');
这将自动创建id。
使用串行仅相当于序列。
您可以检查如果表中有一列
在时间发送
,我想知道如何将时间自动添加到新列中。我不成功的尝试使用了方法now()
和括号中的显式列名:插入到问题(标题、用户id、当时发送的wast)值('Lorem Ipsun',123,now())
。如何将时间也添加到表中?@Masi:将was_sent_at_time列类型设置为以下类型:timestamp not null默认当前值_timestamp@Masi:听马克西姆科的。使用当前的\u时间戳值填充您在\u时间列发送的时间。:-)谢谢你们您的最后一个技巧大大简化了我的SQL查询:)
insert into tbl_1(name) values('xyz');