Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL合并列数据_Php_Mysql_Database_Normalization_Database Normalization - Fatal编程技术网

Php MySQL合并列数据

Php MySQL合并列数据,php,mysql,database,normalization,database-normalization,Php,Mysql,Database,Normalization,Database Normalization,我下载了一个数据库表,但它一点也没有正常化。它甚至没有索引 不管怎样,现在看起来是这样的: Id Word Type TypeSet 1 A 2 A 3 A prep. 4 A 5 A prep. 6 A 我想Word有一个唯一的索引。为此,必须合并类型值而不保留重复项 我已经创建了一个集合来存储类型的值。我想把它

我下载了一个数据库表,但它一点也没有正常化。它甚至没有索引

不管怎样,现在看起来是这样的:

Id   Word   Type    TypeSet
1    A             
2    A             
3    A      prep.  
4    A            
5    A      prep.  
6    A              
我想
Word
有一个唯一的索引。为此,必须合并
类型
值而不保留重复项

我已经创建了一个
集合
来存储
类型
的值。我想把它们全部转移到这一组(
TypeSet
),然后删除
Type

然而,更糟糕的是,有些列存储多个
Type
s

a. & p. p.
a. & pron.
a. & v.
a. & v. t.
这可以通过从
类型
列中剥离空格并将
视为这些类型的分隔符来解决

如何将
类型
值转移到
排版
并将列与相同的
单词
合并


解决方案不必完全是SQL。这就是我添加PHP标记的原因。

为什么希望Word是唯一的?这种数据的简单设计有什么问题?你肯定没有正常化。另外,既然Id只是一个代理项,您正在合并行,为什么要保留它?@philipxy主键
Id
用于快速查找和使用外键的表间关系。重复的单词很乱。我将每秒进行大量查找,并且能够在一个集中检索具有所有类型的单词,这将非常干净。为什么您希望单词是唯一的?这种数据的简单设计有什么问题?你肯定没有正常化。另外,既然Id只是一个代理项,您正在合并行,为什么要保留它?@philipxy主键
Id
用于快速查找和使用外键的表间关系。重复的单词很乱。我将每秒进行大量查找,并且能够在一个集合中检索具有所有类型的单词,这将非常干净。