龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

如何对mysql表字段进行整理

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
以下的文章主要介绍的是如何正确对 mysql 表字段进行整理,本文是以一问一答的方式来说明其实际操作的具体步骤,这样就会让你更深入的了解,以下就是文章的具体内容阐述,希望你

以下的文章主要介绍的是如何正确对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表字段的介绍,望你能有所收获。


精彩图集

赞助商链接