Database MySQL中的查找字段

Database MySQL中的查找字段,database,Database,我为MySQL数据库提供了一组类别,这些类别不会有太大变化,但有时可能会发生变化。(大概有十几种选择) 对于这种情况,答案基本上是多选的,我应该在主表中使用一个文本字段,然后在PHP中限制答案,还是制作一个单独的表来保存查找值,然后将类别表中的id存储在主表中 只是寻找规范化的最佳实践:)规范化的最佳实践是,您总是假设内容可以而且将会改变。所以再做一张桌子 我建议您维护一个类别表,其中包含ID和类别名称以及您认为适合添加到此表中的任何其他列。然后在任何其他表中,通过其ID引用该类别表 SQL需要

我为MySQL数据库提供了一组类别,这些类别不会有太大变化,但有时可能会发生变化。(大概有十几种选择)

对于这种情况,答案基本上是多选的,我应该在主表中使用一个文本字段,然后在PHP中限制答案,还是制作一个单独的表来保存查找值,然后将类别表中的id存储在主表中


只是寻找规范化的最佳实践:)

规范化的最佳实践是,您总是假设内容可以而且将会改变。所以再做一张桌子

我建议您维护一个类别表,其中包含ID和类别名称以及您认为适合添加到此表中的任何其他列。然后在任何其他表中,通过其ID引用该类别表


SQL需要从两个表中进行左联接或选择,其中sometable.cid=categories.id都可以,它们有以下结果:

  • 文本字段表示答案集在PHP代码中维护
  • 查找表表示在数据库中维护答案集
我认为这取决于它们是“数据”(->数据库)还是应用程序的一部分(->肯定是PHP代码,例如,如果您的代码中有
if($cat='x'){…}


在我看来,它们更像是数据,所以在这种情况下,将它们放在一个表中。

您应该始终使用一个单独的表,我看不出有理由不这样做,特别是如果您需要执行任何类型的报告等。

这与php、php5甚至mysql无关,我认为唯一相关的标记是数据库它与PHP/5有关,因为另一种选择是用PHP管理答案,在本例中,它是MySQL,而不是Access或例如Microsoft SQL Server。我认为细节越多越好。但这不是php或mysql特有的,我想不出另外一个不适用的web框架/数据库。我不同意你的观点,但这是一个循环论点。我删除了所有的标签,除了数据库-互联网现在是安全的dtarh。事实证明你已经是对的,呵呵。我意识到我也可以出于其他目的加载和缓存类别,并从数据库中严格管理它们。仅仅因为将变量与静态进行比较并不意味着静态只属于代码。。