欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

如何对mysql表字段进行整理

程序员文章站 2024-01-15 12:16:40
...

以下的文章主要介绍的是如何正确对mysql表字段进行整理,本文是以一问一答的方式来说明其实际操作的具体步骤,这样就会让你更深入的了解,以下就是文章的具体内容阐述,希望你浏览之后会有所收获。 表dz_tupian 当前表的数据 mysql表字段 phid adress 001wha

以下的文章主要介绍的是如何正确对mysql表字段进行整理,本文是以一问一答的方式来说明其实际操作的具体步骤,这样就会让你更深入的了解,以下就是文章的具体内容阐述,希望你浏览之后会有所收获。

表dz_tupian

当前表的数据

mysql表字段 phid adress

  1. 001 whai
  2. 002 fdsadf
  3. 003 fdsfsdaf
  4. 002 dfewads
  5. 003 fwerasere
  6. 001 hfghgrtt
  7. ... ...

想要实现的效果:

字段 phid adress

  1. 001 whai hfghgrtt
  2. 002 fdsadf dfewads
  3. 003 fdsfsdaf fwerasere

phid里有很多相同的数字 先找出重复的 (可能有一个 或者60个)

然后将重复的行 整合为一行---- phid相同的行 第二个mysql表字段adress依次

添加到新整合的一行的adress字段里

这是我的思路 不知如何写代码

问题补充:第二个方法挺好 在mysql数据库里 查询 然后把查询的结果导出 就可以得到我要的效果

但有个问题 表dz_tupian 字段adress 类型是mediumtext mediumtext最大长度是16777215个字符。

为何导出的查询结果adress最后不完整 有残缺 看得出来相同phid的adress值没有完全添加到adress字段里

这是为什么

问题好像不是adress字段 字符的数量限制 可是查询的结果确实是如果相同phid的数量多的话 对应的adress也就多 就出现最后不完整 少的 就可以完整的显示出来

刚查过 adress字段 最多的是533个字符 可是mysql表字段adress 类型是mediumtext mediumtext最大长度是16777215个字符 这就是不完整的原因 为什么????

级最佳答案补充回答:

group_concat函数有大小限制,缺省是1024,你可以根据自己的要求修改这个大小,有两种方法

1.在mysql配置文件中加上

group_concat_max_len = 102400 #你要的最大长度

2.可以简单一点,执行语句:

  1. mysql> SET GLOBAL group_concat_max_len=102400;
  2. Query OK, 0 rows affected (0.01 sec)

具体的可以看参考资料的连接

mysql可以使用group_concat函数了,以下语句在mysql5中测试通过

  1. select phid,group_concat(adress order by adress separator " ") as adress
  2. from dz_tupian
  3. group by phid

以上的相关内容就是对整合mysql表字段的介绍,望你能有所收获。