如何對(duì)mysql表字段進(jìn)行整理
以下的文章主要介紹的是如何正確對(duì)mysql表字段進(jìn)行整理,本文是以一問一答的方式來說明其實(shí)際操作的具體步驟,這樣就會(huì)讓你更深入的了解,以下就是文章的具體內(nèi)容闡述,希望你瀏覽之后會(huì)有所收獲。
表dz_tupian
當(dāng)前表的數(shù)據(jù)
mysql表字段 phid adress
- 001 whai
- 002 fdsadf
- 003 fdsfsdaf
- 002 dfewads
- 003 fwerasere
- 001 hfghgrtt
- ... ...
想要實(shí)現(xiàn)的效果:
字段 phid adress
- 001 whai hfghgrtt
- 002 fdsadf dfewads
- 003 fdsfsdaf fwerasere
phid里有很多相同的數(shù)字 先找出重復(fù)的 (可能有一個(gè) 或者60個(gè))
然后將重復(fù)的行 整合為一行---- phid相同的行 第二個(gè)mysql表字段adress依次
添加到新整合的一行的adress字段里
這是我的思路 不知如何寫代碼
問題補(bǔ)充:第二個(gè)方法挺好 在mysql數(shù)據(jù)庫里 查詢 然后把查詢的結(jié)果導(dǎo)出 就可以得到我要的效果
但有個(gè)問題 表dz_tupian 字段adress 類型是mediumtext mediumtext最大長(zhǎng)度是16777215個(gè)字符。
為何導(dǎo)出的查詢結(jié)果adress最后不完整 有殘缺 看得出來相同phid的adress值沒有完全添加到adress字段里
這是為什么
問題好像不是adress字段 字符的數(shù)量限制 可是查詢的結(jié)果確實(shí)是如果相同phid的數(shù)量多的話 對(duì)應(yīng)的adress也就多 就出現(xiàn)最后不完整 少的 就可以完整的顯示出來
剛查過 adress字段 最多的是533個(gè)字符 可是mysql表字段adress 類型是mediumtext mediumtext最大長(zhǎng)度是16777215個(gè)字符 這就是不完整的原因 為什么????
級(jí)最佳答案補(bǔ)充回答:
group_concat函數(shù)有大小限制,缺省是1024,你可以根據(jù)自己的要求修改這個(gè)大小,有兩種方法
1.在mysql配置文件中加上
group_concat_max_len = 102400 #你要的最大長(zhǎng)度
2.可以簡(jiǎn)單一點(diǎn),執(zhí)行語句:
- mysql> SET GLOBAL group_concat_max_len=102400;
- Query OK, 0 rows affected (0.01 sec)
具體的可以看參考資料的連接
mysql可以使用group_concat函數(shù)了,以下語句在mysql5中測(cè)試通過
- select phid,group_concat(adress order by adress separator " ") as adress
- from dz_tupian
- group by phid
以上的相關(guān)內(nèi)容就是對(duì)整合mysql表字段的介紹,望你能有所收獲。
【編輯推薦】