2012-02-29 26 views
0

我是PHP/MySQL的新手。我想盡量減少我有的表的數量,所以我一直在考慮將一組ID(從複選框用戶勾選)保存爲字符串而不是單獨的表。你用什麼來將ID列表格式化爲一個字符串,這樣我就可以輕鬆地解析這些ID以供將來在我的程序中使用?如何在我的分區中將分類ID格式化爲字符串

+0

它破壞了數據庫設計傳統並不好。 – 2012-02-29 08:22:19

回答

6

您可以使用implode()explode來分別連接值和分隔值。您也可以嘗試serialize()來存儲這些值。在給定的鏈接中有很多示例,所以它們會對您期望的數據格式有所幫助。

0

這不是一個好主意。我認爲1:N關係是更好的選擇。這提供了更好的性能,並且db支持完整性檢查。

所以,如果你願意,你可以建立以下其中語句用逗號分隔的列表,不是使用:

where CONCAT(',', FIELDWITHIDS, ',') like '%,13,%' 

找到引用該ID的數據集13或者你必須使用爆炸()和implode()在PHP中。

0

無論是逗號分隔值或PHP序列化(http://php.net/manual/en/function.serialize.php)

話雖這麼說,你失去的是能夠做的好處加入或完整性檢查你的數據庫,所以你通常應該避免它。

+0

你是對的。我忘了做連接。如果它是一個字符串,我將無法執行任何操作。 – enchance 2012-02-29 08:26:01

相關問題