いくつかのトランザクションデータを処理していて、主キーフィールドに問題があります。Order ManagerシステムとGoogleアナリティクスからデータをインポートする場合、OrderIDフィールドには次の2つの値の形式があります。
123456
002-0130775-1483424
このフィールドを主キーとしてフォーマットするにはどうすればよいですか?
よろしくお願いします!:)
(MySQL 5.5.27の実行)
いくつかのトランザクションデータを処理していて、主キーフィールドに問題があります。Order ManagerシステムとGoogleアナリティクスからデータをインポートする場合、OrderIDフィールドには次の2つの値の形式があります。
123456
002-0130775-1483424
このフィールドを主キーとしてフォーマットするにはどうすればよいですか?
よろしくお願いします!:)
(MySQL 5.5.27の実行)
任意の整数(「内部」キー)を含む自動インクリメントの主キーフィールドを作成する必要があります...実際の「キー」データをOrderNumberなどのタイトルの別のフィールドに入れて、一意のインデックスを付けることができます。
オプションとして、合成主キー(内部参照のみ)とインデックス付きCHAR(20)列(おそらく一貫性を保つために一意のインデックスが付加されている)を設定できます。これは、ある日、より良い解決策のようです。既存のデータと衝突する可能性のある別のシステムと統合したい場合があります。
はい、主キーを内部に保持することで、変更を防ぐことができます。データとして公開される可能性のあるものはすべて、キーとして再検討する必要があります。
ほら、主キーは本質的にbigintである必要がありますが、必要に応じて変更できます。 MYSQL 5.5.27には、以前のバージョンからいくつかの重要な変更があります。リンク https://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.htmlをたどってください。