我有一个JSON文件,其中ID号为十进制数字。而且它们不会以任何特定的顺序运行-例如58.0、792.0等。但是此小数点(十分位数)中的数字始终为0(出现)。
因为这可能是来自更大数据集的数据的随机样本,所以我不愿意在PostgreSQL中创建一个新表以将该数据放入的同时设置新的ID号。
处理这些十进制数字的最佳方法是什么?有没有一种方法可以摆脱小数点,还是应该在我创建一个新表以将JSON数据加载到其中时从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));
通过这种设计,您将来可能会对某些扩展进行更改。