如何在我的数据库中将类别ID格式化为字符串

时间:2012-02-29 08:19:17

标签: php mysql

我是PHP / MySQL的新手。我想最小化我拥有的表的数量,所以我一直在考虑将一组ID(从用户勾选的复选框)保存为字符串而不是单独的表。您使用什么来将ID列表格式化为字符串,以便我可以轻松解析ID以供将来在我的程序中使用?

3 个答案:

答案 0 :(得分:6)

你可以使用implode()  和explode分别用于连接值和分隔值。您还可以尝试serialize()来存储值。我给出的链接中有很多示例,因此它们对您理想的数据格式有所帮助。

答案 1 :(得分:0)

这不是个好主意。我认为1:N-Relation是更好的选择。这提供了更好的性能,db支持完整性检查。

因此,如果您愿意,可以构建以逗号分隔的列表,而不是使用以下where语句:

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

查找引用ID 13的数据集。或者您必须在PHP中使用explode()和implode()。

答案 2 :(得分:0)

逗号分隔值或php序列化(http://php.net/manual/en/function.serialize.php)

话虽如此,您失去了在数据库中进行联接或完整性检查的好处,因此您通常应该避免使用它。