mysql.help_topic表無許可權使用解決方法
阿新 • • 發佈:2020-12-21
技術標籤: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連線,你要考慮下大小,不要欄位太小,劃分太多