ID号(数据库)可以带小数点可以吗?

时间:2018-10-25 12:29:43

标签: sql json database id

我有一个JSON文件,其中ID号为十进制数字。而且它们不会以任何特定的顺序运行-例如58.0、792.0等。但是此小数点(十分位数)中的数字始终为0(出现)。

因为这可能是来自更大数据集的数据的随机样本,所以我不愿意在PostgreSQL中创建一个新表以将该数据放入的同时设置新的ID号。

处理这些十进制数字的最佳方法是什么?有没有一种方法可以摆脱小数点,还是应该在我创建一个新表以将JSON数据加载到其中时从1开始?

1 个答案:

答案 0 :(得分:0)

让我们坐下来讨论该原理,我们都知道ID(标识/标识符)列用于确定表行等。与主列不同,当数据行插入表中时,数据库引擎更有可能设置它。

最好的方法是将ID字段从JSON映射到名为original_ID的列,并为数据启用自动生成的ID

例如,您的表架构如下

CREATE TABLE Person (
 ID INT NOT NULL AUTO_INCREMENT,
 name CHAR(30) NOT NULL,
 . . .
 original_ID DECIMAL,
 PRIMARY KEY (id));

通过这种设计,您将来可能会对某些扩展进行更改。