>데이터 베이스 >MySQL 튜토리얼 >如何对mysql表字段进行整理

如何对mysql表字段进行整理

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 16:09:271390검색

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

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

表dz_tupian

当前表的数据

mysql表字段 phid adress

<ol class="dp-xml">
<li class="alt"><span><span>001 whai  </span></span></li>
<li><span>002 fdsadf  </span></li>
<li class="alt"><span>003 fdsfsdaf  </span></li>
<li><span>002 dfewads  </span></li>
<li class="alt"><span>003 fwerasere  </span></li>
<li><span>001 hfghgrtt  </span></li>
<li class="alt"><span>... ... </span></li>
</ol>

想要实现的效果:

字段 phid adress

<ol class="dp-xml">
<li class="alt"><span><span>001 whai hfghgrtt  </span></span></li>
<li><span>002 fdsadf dfewads  </span></li>
<li class="alt"><span>003 fdsfsdaf fwerasere </span></li>
</ol>

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.可以简单一点,执行语句:

<ol class="dp-xml">
<li class="alt"><span><span>mysql</span><span class="tag">></span><span> SET GLOBAL </span><span class="attribute">group_concat_max_len</span><span>=</span><span class="attribute-value">102400</span><span>;  </span></span></li>
<li><span>Query OK, 0 rows affected (0.01 sec) </span></li>
</ol>

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

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

<ol class="dp-xml">
<li class="alt"><span><span>select phid,group_concat(adress order by adress separator " ") as adress  </span></span></li>
<li><span>from dz_tupian  </span></li>
<li class="alt"><span>group by phid </span></li>
</ol>

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.