我正在处理一些交易数据并且我的主键字段存在问题。从我的订单管理系统和Google分析导入数据时,OrderID字段具有以下两种值格式:
123456
002-0130775-1483424
如何将此字段格式化为主键?
提前感谢您的帮助! :)
(运行MySQL 5.5.27)
答案 0 :(得分:3)
你应该创建一个包含任意整数的自动增量主键字段(一个'内部'键)...你可以将你的实际“键”数据放在另一个标题为OrderNumber或类似字段的字段中,并在其上放置一个唯一索引它
答案 1 :(得分:2)
作为一个选项,您可以设置一个syntetic主键(仅用于内部引用)和一个索引的CHAR(20)列(可能附带唯一索引以保持一致性) - 这似乎是一个更好的解决方案有一天,您可能希望与可能与现有数据发生冲突的另一个系统集成。
答案 2 :(得分:2)
是的,保持内部主键有助于保护您免受变更。任何可以作为数据公开的东西都应该被重新考虑为关键。
答案 3 :(得分:0)
请注意,主键本质上应该是 bigint ,但是您可以修改所需的方式。 MYSQL 5.5.27 与早期版本有一些重要更改,请点击链接 https://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.html