我實現一個Tag系統...的MySQL/PHP - 標籤系統
目前,我有表tags
與name
,description
,createdby
領域。
和表images
有一個字段tags
。在這個字段中,我將把標記名稱從tags
表中以逗號分隔。
但是,如果我想要獲取帶有標記的所有圖像Foo
我該如何形成查詢?因爲該字段將包含用逗號分隔的多個標籤。
我實現一個Tag系統...的MySQL/PHP - 標籤系統
目前,我有表tags
與name
,description
,createdby
領域。
和表images
有一個字段tags
。在這個字段中,我將把標記名稱從tags
表中以逗號分隔。
但是,如果我想要獲取帶有標記的所有圖像Foo
我該如何形成查詢?因爲該字段將包含用逗號分隔的多個標籤。
不確定你是否想過規範化圖像表,但這將是最佳解決方案。
而不必
結構的表這樣
然後你就可以運行該SQL語句帶有特定標籤
SELECT * FROM images
WHERE tags = 'forest';
返回所有圖片
或者,如果有你需要保持你的表在當前格式的原因,你可以在上面的兩個例子使用
SELECT * FROM images
WHERE tags LIKE '%forest%';
這個詞「森林」的標籤,你正在尋找
嘗試類似的東西:
SELECT * FROM images WHERE tags = 'Foo' OR tags LIKE 'Foo,%' OR tags LIKE '%,Foo' OR tags LIKE '%,Foo,%'
我做現在沒有嘗試過任何東西,因爲我不知道如何從查詢中獲得。 – Fr0z3n
我會規範化數據。創建一個包含每個圖像的每個標籤的單獨記錄的表格。這將使你的查詢(和一般生活)更簡單恕我直言。 – Tom
@Tom,在數據庫的使用和速度方面,最好使用你的方法來覆蓋我的方法? – Fr0z3n