1. 程式人生 > 其它 >mysql.help_topic表無許可權使用解決方法

mysql.help_topic表無許可權使用解決方法

技術標籤:mysql

1.由於我的資料有個欄位是由;號隔開
在這裡插入圖片描述
我想要分開,每個人單獨一條,於是用到了mysql的help_topic表
程式碼:

	 	 select  id,
        substring_index(substring_index(a.owner,';'
        ,b.help_topic_id+1),';',-1) owner
    from 
        test a
    join
        mysql.help_topic b
        on b.help_topic_id < (length(a.owner) - length(
replace(a.owner,';',''))) -- 比較help_topic_id大小與owner去掉;後的長度之差,小於則連線因為mysql.help_topic是0開始 -- 意思就是重複連線複製了幾份但是唯一不同的就是mysql.help_topic的id大小 order by a.id

原理解析:理解了上面註釋後就很好理解了,substring_index(substring_index(a.owner,’;’
,b.help_topic_id+1),’;’,-1)因為不同的就是help_topic_id,onewer都是複製了幾份,只要根據不同點help_topic_id來動態擷取欄位就能實現。

實現結果:
在這裡插入圖片描述
全查出來就更好懂了吧:
在這裡插入圖片描述
再不懂我把擷取去掉:
在這裡插入圖片描述
所以如果你沒有許可權使用mysql自帶表,就自己建一個,因為靠的是join連線,你要考慮下大小,不要欄位太小,劃分太多