2017-05-05 71 views
0

我有一些产品,它有它自己的ID和我设计的MySQL DB,然后我将导入这些数据,有很多比产品表,但它现在并不重要。重复使用现有的产品ID作为主键

将现有的产品ID作为主键是个好主意?因此进入autoincerement ID列将导入现有的产品ID,我从来没有像我描述的那样。

值得一提的是,ID是正常的无符号整数值,而且产品现在只有xls表中的一些行。

+0

这是一个好主意 – Strawberry

+0

我认为同样的对立面,但我要问,其他程序员怎么看在这个问题上。 –

+0

我删除了这个问题,因为我可以得到很多负面信息。信誉点,即使我认为这也是个坏主意。 –

回答

1

我认为如果您在这些ID上建立任何关系时保持ID的状态将会很好,并且对于将添加的新ID,只需让它们随标识属性一起增加即可。

上插入标识列定义的ID(自动递增)使用以下命令:

Set Identity_Insert [TableName] On 
    -- -------------------------------------------- 
    youre insert query goes here 
    -- -------------------------------------------- 
Set Identity_Insert [TableName] Off 
+0

问题是,我从来没有做过,但我没有看到任何问题,重用现有的ID作为主键。为什么要维护2个ID?当我不重复使用这些ID时,所以每个关系都会在id列(主要AI ID)上,我必须将product_id保留为内部产品ID,但是,如果我将这些ID重用为主ID,那么每个关系都将也没关系,我只有一个产品ID,但我没有看到任何问题,但正如我写的,我不认为这是个好主意,而且我从未做过,所以我不知道:/ –

+1

我不认为它是一个“不好的主意”。如果你不想保持相同的结构/关系,你实际上希望将数据从一个数据库表迁移到另一个数据库表,所以我会将它们迁移到原来的位置,所以不需要2列,你有ID(自动增加)列,请停止标识属性,以便可以使用旧表中的值覆盖这些值,然后将标识属性重新打开 – berthos