【发布时间】:2012-06-15 09:20:09
【问题描述】:
我正在为我的应用程序构建自定义字段功能。这允许管理员根据站点的需要添加自定义配置文件字段供用户填写。
架构很简单
field_meta (store some metadata about the field)
================================================
id
type //type of field
field_name //name of the field in the fields table
render_data //Some data to use when rendering the form field
field
===================
id
name //Default field that can't be deleted
address //Default field that can't be deleted
customfield_1
customfield_2
field_meta 表用于存储字段的一些元数据,以便我们渲染表单字段。
然后将每个字段存储在field 表的一个新列中。
问题: 为了可用性和不必处理用户选择保留字或使用非英语单词作为列名,我不会要求用户为列名选择名称。
我目前正在考虑按字段类型调用列名(应用程序中有很多类型(电子邮件、网站、文本、段落文本等),仅举几例)并添加一个数字。一些例子:
- Email_1
- Text_1
- Text_2
- Text_3
- Email_2
- 等
但是,这种方法的问题在于它需要大量的工作才能得出列名。我需要获取所有列,选择与我正在创建的列类型相同的列,解析最大的数字,然后创建列。
有没有更好的策略来做到这一点?或者也许是一种完全不同的方式来命名消除这些问题的列?
【问题讨论】:
标签: mysql