2011-07-26 29 views
0

我在表中每次查詢時都希望選擇一個表中的單個值。MySQL:代表所有'ids'的表項?

讓我休息一下。

我有以下條目: enter image description here

而不是使每一個不同user_id一個新條目,我可以用某種本原是代表所有user_id s,而不是特定的ID?示例如下: enter image description here

由於我不想花時間解釋的原因,這就是我所需要的。有沒有辦法做到這一點?

在此先感謝!

+1

從數據庫設計的角度來看,如果您需要與某個表的所有行關聯的內容,那麼您應該只刪除外鍵。但是,如果您正在建模多對多關係,則需要額外的表格。所以我想如果你能解釋爲什麼你需要這樣的東西,我們可以提供幫助。 – Jacob

回答

1

如果我正確地認爲這意味着你想鏈接到每個user_id(作爲某種catch-all子句),你有幾種方法去解決它。根據您的應用程序,只要添加用戶,您就可以簡單地請求它爲tag_id = 1添加一行。但是,如果你想要在單行中完成,那麼......它會誤導關係模型。 你可以,想必使用NULL特殊的「值」(本質上,聲明它沒有值),然後檢查你的應用程序邏輯與

WHERE user_id = [uid] OR user_id IS NULL 

或一些這樣的。然而,我寧願保持與前一種方法完好無損的關係。你失去了外鍵(儘管使用NULL不會違反約束)和類似的約束(如果你不這樣做)。