我正在用MySQL和PHP为基本的CMS设计一个数据库。CMS将有一个前端,这将允许排序和搜索。后端将允许授权用户上传文件。
我正在使用PHPMyAdmin,我希望帮助设置我的数据库。
我愿意回答各种MySQL数据类型以及它们的好处。请使用常见的数据库字段作为示例.
下面是我想要的东西的清单。缺少什么数据类型,需要使用什么数据类型?
Resources (用于我的文件)
用户(用户帐户-用于管理访问,并可能用于通知列表)
)
Events
发布于 2010-09-01 21:49:22
我想要的是:
参考资料(用于我的文件)
entries)
用户(用户帐户-用于管理访问,并可能用于通知列表)
entries)
)
Events
time)
当您设置数据库并输入一些虚拟数据时,可以通过phpmyadmin运行一个简单的语句,它将告诉您,MySQL将对该虚拟数据使用什么:
SELECT * FROM events PROCEDURE ANALYSE()在Optimal_fieldtype专栏中,您将找到MySQL告诉您的内容。但你不应该采用那种类型的。它将经常告诉您使用ENUM,但是大多数情况下,您需要添加随机数据,因此必须使用VARCHAR,在这种情况下,列Max_length将提示您应该使用多长时间。但是在所有的VARCHAR字段中,您应该添加附加空间,这取决于您期望值的长度。考虑到一个名字甚至可以超过50个字符。
发布于 2010-09-01 21:45:39
您的用户表没有密码哈希列。不确定你是否打算让它拥有这样的东西。我看不出我们如何回答应该使用什么数据类型,因为这完全取决于您计划如何使用这些列。对于日期,我更喜欢日期时间而不是时间戳,但这只是个人偏好,因为我喜欢手动在查询中插入日期。
发布于 2010-09-01 21:44:26
缺少的是什么,好吧,这有点让你决定/需要什么。你应该通读有关数据库设计的文章。
就您所拥有的数据类型而言
INT,或者BIGINT (取决于应用程序的大小),并设置为PRIMARY KEY。varchar,您想要多长时间取决于您的需求是什么。大多数第一个/列表名称通常最多为25-30个字符。事件名称可能超过250个,取决于您的requirements.VARCHAR的名称在50-150左右,取决于您的requirements.DATETIME字段。VARCHAR(250)或TEXT字段。INT或一个VARCHAR (如果您想序列化一个数组)。charactersINT (如果您想要删除所有非数字字符并按您自己的方式格式化),或者如果您不想删除VARCHAR(15)。希望这会有所帮助,这同样取决于--您对应用程序的需求以及您所设想的内容。但是,随着需求的变化,初始类型总是可以更改的。
编辑
如果您想了解有关不同MySQL数据类型的完整信息,请阅读手册:http://dev.mysql.com/doc/refman/5.0/en/data-types.html
https://stackoverflow.com/questions/3622319
复制相似问题