這是我第二次面對這種問題來檢索數據。在mysql中存儲和獲取多個ID的最佳模式設計
CREATE TABLE `pm_projects` (
`project_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`project_name` varchar(255) NOT NULL,
`assigned_client` varchar(100) NOT NULL,
`project_detail` longtext NOT NULL,
`creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`project_status` tinyint(1) NOT NULL,
PRIMARY KEY (`project_id`),
KEY `assigned_client` (`assigned_client`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
在上表中,我有一個字段assigned_client
保存分配給與逗號分隔的項目(3,4,...
)客戶端的多個ID的。
,我試圖與分配的客戶端的名稱(這是我的pm_users
表)與JOIN
在這個表上獲取結果,我試過如下:
SELECT
p.project_id, u.user_name, p.project_name,
p.creation_date, p.project_status
FROM pm_projects p
LEFT JOIN pm_users u ON u.user_id
IN (
'p.assigned_clients'
)
,返回NULL
值u.user_name
字段。
我可以不得不改變我的模式,如果是的話怎麼樣?
或者我想用錯誤的查詢?
**嘗試存儲這一切都在一個字段只會導致問題,過於複雜的查詢,和未來的性能問題。**這是我想知道的。 –