2011-10-17 15 views
1

一度存在していたが削除された主キーを持つレコードを手作業で挿入すると分かっていますか?このプライマリキーは1つのテーブルにのみ存在し、他のテーブルでは参照されません。Mysqlの主キー削除と再挿入

+1

それをしない主な理由は参照整合性ですが、それは決して良いことではありません。あなたは頻繁にそれを行う必要がありますか?どうして? –

+0

私たちはテストサーバーとライブサーバーを持っています。記録は事故によって重複していたため、削除する必要がありました。これにより、ライブとテストの主キーが同期しなくなりました。これで、dbに空の行を残すか、手動でギャップに挿入して同期を維持するかを決定します。私は非常にひどく設計されたレガシーシステムを継承していたので、これは最適な状況ではないことを認識していますが、これは私が作業しなければならないものです。あなたの迅速な対応をありがとうございました。 – John

答えて

4

そうでもありません。

しかし、一般に、履歴表のために悪い考えです。ある時点で、それは存在し、ほとんどのシステムにログインします。 外部トレースもあります。バックアップ、データベースのコピー、リンクされたサーバー上のデータです。

自動番号またはIDのギャップを埋めるだけの場合は、これが有効な理由ではありません。

+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がそれをやる方法を知っていると確信しています。彼らは「それはOKですか? – gbn

+0

私はOPが*どうやってそれをやっているのか知っていますが、そうするのが良いのかどうかを知りたいと思っています。事情により – Clive

+1

:真剣に、申し訳ありませんが、私は正しく質問を理解しませんでした – user973254

関連する問題