我的 PostgreSQL 数据库中有一个简单的表,如下所示:
CREATE TABLE person_type
(
id serial NOT NULL,
name character(55) NOT NULL,
CONSTRAINT person_type_pkey PRIMARY KEY (id),
CONSTRAINT person_type_name_key UNIQUE (name)
)
Run Code Online (Sandbox Code Playgroud)
如您所见,id会自动递增,并且名称必须是唯一的。每次我运行 INSERT sql 语句时,即使它失败,id 也会增加 1。
我怎样才能防止这种情况?为了每次成功插入一行,主键是相关的
我有一张如下表:
order_item
------------
serial | id (PK)
integer | order_id
???? | quantity
integer | unit_of_measure_id (PK) --> ml, l, kg, mg, mm, m, etc.
Run Code Online (Sandbox Code Playgroud)
我正在做一个应用程序,我需要存储化学分析中使用的材料量。有时材料的用量很小,如微升,有时则更多,如一两升。
它的numeric
数据类型是否足够好?
我读过将值转换为最小度量单位是个好主意。所以如果我有 10 升,我必须传递到 10000000 微升。但是,如果您将来需要使用更低的度量单位怎么办?像皮升?不可避免地,我认为应用程序将不得不使用浮点数。