程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 如何對mysql表字段進行整理

如何對mysql表字段進行整理

編輯: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表字段的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved