如何對多個ID的格式設置爲JSON進行選擇?在格式爲json的字段中選擇多個ID
$query = 'SELECT * FROM articles as a WHERE "10" IN (a.catids)';
The value of a.catids in the db-field is {"0":"10","1":"12"};
如何對多個ID的格式設置爲JSON進行選擇?在格式爲json的字段中選擇多個ID
$query = 'SELECT * FROM articles as a WHERE "10" IN (a.catids)';
The value of a.catids in the db-field is {"0":"10","1":"12"};
沒有「正確」的方法來做到這一點。 MySQL不知道JSON是什麼,即使你對這些ID進行文本搜索,你也會注意到它非常緩慢。
我建議規範化表格。更新腳本以將catids
放在單獨的表格中。
是的,你說得對。我會去那。只是想知道,因爲將ID存儲在JSON字段非常簡單:-) – 2012-04-23 18:00:59
@COBIZwebdevelopment你應該接受這個(在左邊選票下的鉤子) – 2012-04-23 18:10:08
喜歡的東西:
我包括:和,所以你是確保你選擇的值而不是索引
當然,這個查詢會非常慢,因爲它必須去通過每一行進行匹配。 – 2012-04-23 17:51:18
我猜你正在尋找等。
SELECT * FROM articles as a WHERE a.catids LIKE '%10%'
您也想看看像語法(因爲你可以搜索'%「_」:「10」%」之後,甚至更復雜的東西,只有第二部分搜索具有
最好的,你就不會存儲您的ID的方式,雖然。
謝謝,我會以正確的方式去... – 2012-04-23 18:08:14
你能成爲一個更具體一點? – Kovo 2012-04-23 17:46:07
如果你的JSON是在mysql表中的字符串,你可以使用正則表達式來搜索您正在尋找的ID對於 – ControlAltDel 2012-04-23 17:48:03
我在表格中有一些文章,每篇文章都有一個或多個存儲在字段cati中的類別id(採用JSON格式)現在我想篩選來自par特別類別。 – 2012-04-23 17:49:42