MySQL主键字段类型

时间:2012-11-09 14:13:19

标签: mysql types primary-key field

我正在处理一些交易数据并且我的主键字段存在问题。从我的订单管理系统和Google分析导入数据时,OrderID字段具有以下两种值格式:

123456  
002-0130775-1483424

如何将此字段格式化为主键?

提前感谢您的帮助! :)

(运行MySQL 5.5.27)

4 个答案:

答案 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