2016-06-30 3 views
0

例えば、私はカラムがtable_1.column_aのテーブルと、カラムがtable_2.column_bのテーブルがあります。 table_2.column_bの値は、外部キーとしてtable_1.column_aを参照しています。外部キーによって参照されているときの値の交換

table_1.column_aの2つのエントリを交換しなければならない場合は、テスト目的または現実的な理由で(たとえば、2人のチームの2人のプレイヤーを交換するなど)、それを達成する最も簡単な方法は、外部キー制約を破ることなく

現時点では、データを交換するために外部キー制約を削除し、外部キー制約を再度定義します。

組み込みの機能でも、ハッキーなクエリでも、外部キーを削除してから再作成しなくても2つのエントリを入れ替えることができますか?

答えて

1

これは小さなハックです。

SET foreign_key_checks = 0; 

スワップあなたの記録

SET foreign_key_checks = 1; 
+0

これをチェックして、私はまた、あなたのシステムを台無しにするのに最適な方法を –

+0

をお知らせください。 – Drew

+0

それは私がそれがハックであり、推奨される方法ではないと言う理由です。あなたのDBにデザイン上の問題があることを示すようなことをしたいのであれば、 –

関連する問題