php - Mysql -> 用户表中可以有多少列?我应该存储数组吗?

标签 php mysql arrays database-design serialization

我想为我的用户创建一个数据库,我需要在其中为每个用户存储大约 50 条不同的信息。

例子

联系信息将很重要(地址、电话、电子邮件、家庭电话等...) 个人信息将 hv(姓名、姓氏、出生日期、出生城市、工作等...) 重新发布信息 ...(6 项) 等等


所以我有很多类别,每个类别至少包含 5-6 个元素,所以我的问题是

我应该为每个项目创建一个列(每个用户大约有 50 个字段)还是更好地为每个类别创建一个列并使用序列化将数组存储到该字段中(将有大约 6 列(每个将hold 将容纳 6-7 个项目的数组)?

什么是最佳实践?如果我选择数组,我应该将列类型设为文本“因为我无法确定所有项目的确切 varchar 大小”吗?

最佳答案

我认为序列化数组并将该数组存储在关系数据库中不是一个好主意。为了能够利用关系数据库的全部功能,包括一堆可能的 sql 查询来处理您的数据,您应该考虑一个合适的 relational database design包括一个或多个表以及它们之间的关系。想想primary and foreign keysnormalization .如需更多建议,您应该发布有关示例的更多信息。

关于php - Mysql -> 用户表中可以有多少列?我应该存储数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658090/

相关文章:

PHP - 解析和验证文本文件数据并将其导入mysql数据库

mysql:在一个语句中选择和求和

c - 总线错误 : 10 in C binary and linear search program

sql - Json数组列拆分成行SQL

php - MySQL 查询语法 多个where 和or。完整性检查?

php - 无法将 raw_input 从 php 传递给 Python

MySQL InnoDB : A long semaphore wait:

php - Laravel MorphToMany 不适用于多列

php - 我可以在PHP中混合使用MySQL API吗?

c - 在 C 中使用 ** 时的差异