我有這個項目的項目和一個類別。類別有一個ID。我需要將物品的類別ID放在DB中,但物品可以有2,3個或更多類別。我需要做什麼?
在項目表中創建一個新的單元格名稱「類別」,並將類別標識符用逗號(7,4,8 ...)?如果這樣,那麼如何在PHP中按類別搜索?MySQL按特殊ID搜索
0
A
回答
3
如果我理解你的問題,你有一個項目可以有多個類別。如果是這種情況,則不要將多個類別存儲在同一列中。
你想設置你的表以這種方式:
create table item
(
id int, (PK)
name varchar(10)
);
create table category
(
id int, (PK)
name varchar(10)
);
create table item_category
(
item_id int, (FK)
category_id int (FK)
);
這將讓你有你在不同的表項和類別,然後使用一個連接表,讓你的項目有多個類別。
如果你有上面的表格下面的示例數據:
insert into item values
(1, 'item 1'),
(2, 'item 2');
insert into category values
(1, 'category 1'),
(2, 'category 2');
insert into item_category values
(1, 1),
(2, 1),
(2, 2);
然後將查詢將類似於此:
select i.id item_id,
i.name ItemName,
c.id CategoryId,
c.name CategoryName
from item i
left join item_category ic
on i.id = ic.item_id
left join category c
on ic.category_id = c.id
見SQL Fiddle with Demo。其結果如下:
| ITEM_ID | ITEMNAME | CATEGORYID | CATEGORYNAME |
--------------------------------------------------
| 1 | item 1 | 1 | category 1 |
| 2 | item 2 | 1 | category 1 |
| 2 | item 2 | 2 | category 2 |
相關問題
- 1. 按特殊字符搜索
- 2. MySQL:使用MySQL相關搜索的特殊搜索算法
- 3. mysql全文搜索和特殊字符
- 4. 帶特殊字符的php mysql搜索
- 5. 在mysql全文搜索中搜索特殊字符
- 6. MySQL按特定時間段搜索?
- 7. 在mysql中使用特殊符號行搜索時無特殊符號?
- 8. 在索爾中搜索特殊字符
- 9. 用Zend搜索索引和搜索特殊字符Lucene
- 10. 如何按ID搜索?
- 11. Woocommerce - 按ID搜索產品
- 12. 按ID搜索佈局
- 13. MYSQL搜索一個字符串是否包含特殊字符?
- 14. MySQL的搜索沒有任何特殊字符
- 15. 在mysql搜索中處理特殊字符SigurRós
- 16. Mysql全文搜索無法使用特殊字符
- 17. phpMyAdmin的查詢VS MySQL的搜索表單和特殊字符
- 18. 搜索MySQL中有特殊字符的字符串值
- 19. 如何搜索記錄在mysql中有特殊字符
- 20. Mysql的像列表的特殊字符無法搜索
- 21. Mysql匹配查詢與特殊章程搜索
- 22. Symfony/MySQL:特殊字符的全文搜索語法錯誤
- 23. 搜索按鈕,不區分大小寫接受特殊字符
- 24. 從SQL Server 2008搜索特殊字符?
- 25. 用elasticsearch中的特殊字符搜索
- 26. 用特殊字符搜索C++ std :: string
- 27. 在彈性搜索特殊字符
- 28. 的Python:搜索包含特殊字符
- 29. SQL Server T-SQL搜索特殊字符
- 30. Python3 IMAP搜索特殊字符
在開始之前,您必須閱讀關於'RDBMS'概念。 –
那麼,根據您使用的引擎,您可以創建帶有類別的表並使用外鍵 – Darvex