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















 
 
 

 
 
 
 