我正在處理一個項目,我正在將一串數字存儲在用戶數據庫列中。PHP,MySQL查詢
我需要做一個查詢,發現所有地方該列包含數字X的用戶
例子:
Usesrs田部:
ID | NAME | CONNECTIONS
01 | Quinton | 4,44,73,91
我需要通過用戶查看錶並查看哪些用戶有連接#44。是否有一種有效的方式來執行此操作,而不是抓取整個表,然後遍歷每個用戶連接值。
我知道有一種方法可以做與IN()
相反的功能。
我正在處理一個項目,我正在將一串數字存儲在用戶數據庫列中。PHP,MySQL查詢
我需要做一個查詢,發現所有地方該列包含數字X的用戶
例子:
Usesrs田部:
ID | NAME | CONNECTIONS
01 | Quinton | 4,44,73,91
我需要通過用戶查看錶並查看哪些用戶有連接#44。是否有一種有效的方式來執行此操作,而不是抓取整個表,然後遍歷每個用戶連接值。
我知道有一種方法可以做與IN()
相反的功能。
如果可能的話,如果可能的話,規範化模式以使字符串搜索不成問題會更好。
CREATE TABLE Users
(
UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100)
)
CREATE TABLE UserConnections
(
UserId INT NOT NULL REFERENCES Users (UserId),
Connection INT NOT NULL
)
另外,索引UserConnections中的Connection列。然後,搜索連接列。它會更快。
我是...是啊,不。你需要閱讀「正常化」。 – 2011-03-09 02:17:16
這裏是一個鏈接,所以你可以做的建議[閱讀規範化](http://en.wikipedia.org/wiki/Database_normalization)。 – Charles 2011-03-09 02:22:11
右鍵 - 修復設計,不要更深地挖洞。 – dkretz 2011-03-09 02:27:05