簡體   English   中英

使用帶有regexp(json字符串)的特定值從mysql獲取行

[英]Get row from mysql using specific value with regexp ( json string )

我正在使用數組JSON字符串將權限存儲到數據庫中,我想通過權限特定的權限來選擇它們。 目前,我正在這樣選擇他們:

  1 | Dog   | [3,4]
  2 | Cat   | [33,4]
  3 | Tiger | [5,33,4]
  4 | wolf  | [3,5]


 SELECT * FROM `pages` WHERE access REGEXP '([^"])3([^"])'

它有效,但不起作用。 該查詢為我提供了包含3的所有記錄,但也給出了包含33的所有記錄。我的問題是我必須如何格式化我的regexp才能按特定值將行獲取到json字符串中。

ps我有mysql 5.5,所以我知道這個版本不支持json函數

如果字段中僅包含數字,則可以將正則表達式更改為僅在要查找的字符串(此處為“ 3”)沒有緊鄰其的其他數字的情況下采用值:

SELECT * FROM `pages` WHERE access REGEXP '([^"0-9])3([^"0-9])'    
REGEXP '[[:<:]]3[[:>:]]'

也就是說,使用“單詞邊界”東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM