2017-05-05 73 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