私は古いデータベースを持っていますが、そのために(ここであまり話題にしたくない、本当に疑わしくてあいまいな理由で)主キーをランダム化またはシャッフルしたいと思います。
現在、Mysqlデータベーステーブルに自動インクリメントフィールドがあります。
私には多くの関係はありません。存在する関係は外部キーとして定義されていません。関係を保持する必要はありません。
私が探しているのは、主キーの現在の値を取得し、次のようなものからランダムな値に置き換えることだけです。
ID := new(ID)
新しい関数が、1:1の一致を持つすべてのOLDIDのセットから値を返す場合。例えば
2 := 3
3 := 2
だがしかし
2 := 3
3 := 3
(理想的には)テーブルごとに1つのSQLクエリを使用してデータベース内のデータを変更する方法はありますか?
編集:私は本当に厳しい要件はありません。テーブルの変更、操作の実行、テーブルの前のスキーマへの変更など、主キーの制約を前後に変更するなど、役立つ場合はデータベースへの排他的アクセスを検討してください。新しい(または古い)PK値に別の列を追加することもできます。