1

我不是数据库领域的专家,尤其是 MySQL - 学习,所以我对术语有点困惑。

我有一个内部数据库组织,它有一份新工作。一个巨大的表产品、类别和不同属性的堆。此表中的属性重复多次(即非唯一)。每个位置 - 表格的单行。

需要将其分成几个小部分(进行分解),以便在具有唯一内容的单独表格中选择标题、类别和属性。

很可能应该清楚我想要什么,但仍然给出结构。

1.现有数据库的结构

主表

id int (10) unsigned NOT NULL AUTO_INCREMENT - (the unique ID of the position of the goods)
prod_name varchar (255) NOT NULL - the name of the position (non-unique)
prod_cat varchar (64) NOT NULL - the name of the category (non-unique)
prod_prop01 varchar (64) NOT NULL - name svoystva1 (non-unique)
prod_prop02 varchar (64) NOT NULL - name svoystva2 (non-unique)

2.我想得到这样的结构

主表

id int (10) unsigned NOT NULL AUTO_INCREMENT - (the unique ID of the position of the goods)
prod_name int (10) - to the entry ID (unique)
prod_cat int (10) - PH category (unique)
prod_prop01 int (10) - Foreign svoystva1 (unique)
prod_prop02 int (10) - Foreign svoystva2 (unique)

职位名称表

id int (10) unsigned NOT NULL AUTO_INCREMENT - (unique ID names)
name varchar (64) NOT NULL - the name of the position (unikalnoe!)

表格也是如此 - 类别 Prop01 和 Prop02。

这只能在 MySQL 的帮助下完成吗?如果不是,请告诉我解决此问题的通用算法。感谢您关注这个简单的任务。

4

1 回答 1

0

如果我理解正确,您将需要执行以下操作:

  1. 添加新列(使用不同的名称)
  2. 根据当前值填充新列和表
  3. 删除旧列
  4. 重命名新列以匹配旧名称。
于 2013-08-20T23:01:28.527 回答