Home > Database > Mysql Tutorial > 如何对mysql表字段进行整理

如何对mysql表字段进行整理

WBOY
Release: 2016-06-07 16:09:27
Original
1381 people have browsed it

以下的文章主要介绍的是如何正确对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>
Copy after login

想要实现的效果:

字段 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>
Copy after login

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>
Copy after login

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

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>
Copy after login

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


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template