我正在处理一些事务数据并且我的主键字段存在问题。从我的订单管理系统和 Google 分析导入数据时,OrderID 字段具有以下两种值格式:
123456
002-0130775-1483424
如何将此字段格式化为主键?
预先感谢您的帮助!:)
(运行 MySQL 5.5.27)
我正在处理一些事务数据并且我的主键字段存在问题。从我的订单管理系统和 Google 分析导入数据时,OrderID 字段具有以下两种值格式:
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