这是我一直想知道的事情,现在我即将开始另一个需要这个的项目,我不禁想知道我是否正在以“正确的方式”这样做。
基本上,在我的API中,在这种情况下,企业电话系统 - 我们的客户端将能够切换多个选项,如“转发到交互式菜单”或修改呼叫者听到的口头问候语。
通常我通过在MySQL数据库中创建一个表来处理这样的事情,该数据库只有一行在每次用户对某些内容进行更改时都会更新。
我情不自禁地觉得这太过分了。我这样做是正确的吗?
答案 0 :(得分:4)
如果它是全局设置,即不是用户特定的,我建议使用两个表。一个是可用设置列表,其定义带有SettingID
,另一个表只有两个字段:foreign key SettingID
以及设置的设置。
如果设置是每个用户可以自行设置的,只需将UserID
添加到第二个表格。
使用这样的两个表,以便每个新设置都是新行,然后按照您的建议方式normalized。它允许您让PHP代码添加设置或修改设置,而无需修改MySQL数据库结构。
SettingsList
-----------
SettingID (Auto-increment)
SettingName
SettingDescription
UserSettings
------------
UserID (if using this field, make a compound primary key from SettingID and UserID)
SettingID (SettingsList foreign key, UserSettings primary key if not using UserID)
Setting