【问题标题】:How to create unique key that can be maintained through exports and imports如何创建可以通过导出和导入维护的唯一密钥
【发布时间】:2014-05-02 04:27:35
【问题描述】:

我要创建 3 个表:

  1. 类别
  2. 项目
  3. 类别中的项目

categoriesitems 记录需要有唯一的键,所以我计划用一个名为 RecordID 的自增整数字段来创建它们。

items within categories”记录基本上会有以下字段来匹配items到category:item_RecordID、category_RecordID。

但是,我希望能够通过我自己构建的灵活导入/导出实用程序在多个安装中重建这些表。我不相信自动增量可以通过多次安装保持 RecordID 字段相同。

保持 RecordID 字段一致性的最佳方法是什么?我是否应该在编写每个 itemscategories 记录时创建一个重复的 RecordID 字段,然后在“items within categories”表中使用该重复项?还是有更直接或更有效的方法来做到这一点?

这是一个简单的问题。如果我有任何术语错误,我深表歉意——我对 MySQL 和 php 比较陌生。 (背景是已经设置了导入/导出的 Microsoft Access、ASP 和电子商务技术。)

感谢您的帮助。

【问题讨论】:

  • 您是否担心您的不同系统会因为 RecordID 重复而生成冲突行?你看过UUIDs吗?
  • 我会看看 UUID 的文章。我主要担心的是我正在使用这些交叉引用的一对多(或可能是多对多)表来关联数据。这些关系需要跨系统维护。 “类别内的项目”表需要有可靠的数据。过去,我不必导入/导出数据,因此自动递增的值足够可靠。这些网站的内容和更新最少。现在我需要跨具有复杂导出/导入要求的系统工作,最初是因为我对系统进行了很多更改,并且我不想每次都重做/修复我的数据。

标签: mysql import export unique auto-increment


【解决方案1】:

您需要的是外键。如果没有它,您将无法信任多个表的一致性,尤其是 AUTO INCREMENTs。 A-I 有时会在某些情况下发生变化(如果您使用备份/删除/恢复或复制)。

【讨论】:

  • 谢谢。我会检查出来的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多