1

我在 mysql 表中有三列:tax_id、company_name、store_name。我需要 tax_id 和 company_name 是唯一的组合,并且 tax_id 或 company_name 不能与另一个 company_name 或 tax_id 单独存在。另一件事是我需要输入该公司拥有的不同(所有)商店的第三列名称。表格示例应为:

tax_id| company_name| store_name
1324  | Kmart       | 1st ave
1324  | Kmart       | broadway
1324  | Kmart       | 5th ave
7725  | DM          | shop 1
7725  | DM          | shop 2
7725  | DM          | shop 7
etc...

禁止使用不同公司的tax_id 或使用不同tax_id 的公司名称。欢迎任何帮助,也欢迎任何代码示例。

4

2 回答 2

1

我会使用 2 张桌子:

  • 公司
  • 商店

公司包含 tax_id 和 company_name。Stores 包含 tax_id 作为外键和 store_name。

然后你可以让 tax_id 和 company_name 唯一并且 tax_id 主要

于 2012-06-24T07:38:37.167 回答
1

由于您具有一对一的映射关系,因此建议您对数据库进行规范化tax_idcompany_name您应该移动tax_id to company_name mapping到另一个表并保留当前表中的一个company_nametax_id。你可以用它JOIN来挤出你想要的任何信息。

如果您无法更改您的数据库结构,那么您将必须查询数据库以了解 company_name 是否具有 tax_id,然后使用后续信息进行插入查询。

有关更多信息,请查看数据库规范化

于 2012-06-24T07:42:27.243 回答