2011-10-17 127 views
1

是否有任何已知的分支手動插入記錄與主鍵曾經存在但被刪除。所述主鍵僅存在於一個表中,並且在任何其他表中都未被引用。Mysql主鍵刪除和重新插入

+1

即使不這樣做的主要原因是參照完整性,它從來都不是很好的做法。你需要經常做這件事嗎?爲什麼? –

+0

我們有一個測試和現場服務器。記錄在測試中被重複,意外,並且必須被刪除。這導致我們的實時和測試主鍵不同​​步。所以現在我們決定是否在數據庫中留下空行,或者只是手動插入空隙來保持同步。我繼承了一個設計非常糟糕的遺留系統,所以我意識到db是一個次優的情況,但這正是我需要處理的。感謝您的及時回覆。 – John

回答

4

不是真的。

但通常這是一個壞主意,因爲歷史表。在某些情況下,它確實存在並將在大多數系統中記錄。 您可能還有一個外部跟蹤:備份,數據庫副本以及鏈接服務器上的一些數據。

如果您只填寫自動編號或標識中的空白,則這不是一個有效的原因。

+0

好吧。 ----- –

0

你用簡單的insert語句提供您的主鍵的值,例如:

create table some_table (
id int(10) unsigned primary key, 
data text 
); 

insert into some_table (id, data) values (1, 'some data'); 
+0

我確定OP知道*如何做到這一點:他們問「可以嗎」? – gbn

+0

我認爲OP知道*如何做到這一點,但想知道這是否是一個好習慣。 – Clive

+1

視情況而定:)認真,對不起,我沒有正確理解問題 – user973254