我是网络应用程序的新手,并尝试使用php
和Mysql
制作简单的网络应用程序。
我创建了一个名为Item
的表,其中包含2列pen
和pencil
对于每个用户,我在这两列中插入值。
假设将来我从UI获得了一个新项sharpner
。
每次从UI获取新项目时,我都想在此Item
表中自动创建一个新列。
我正在搜索任何使用它的库或工具。
答案 0 :(得分:1)
我想自动创建一个新列
不,你没有。
您已定义了两个实体。项目的实例和项目的类型。为每个创建一个表:
item_type
----------
ID
Name
item
----------
ID
ItemTypeID
[other data you're tracking]
item.ItemTypeID
列将是item_type
表的外键。
当用户添加新的"项类型"时,您将新记录添加到item_type
表。然后,您可以自由地将该类型项目的实例添加到item
表中。
在浩大的大多数情况下,动态修改架构并不是您想要的。定义要跟踪的数据的结构并构建该结构。然后只需添加/修改/删除该数据的记录。不要重新构建数据本身。
答案 1 :(得分:1)
如David所述,关系数据库世界中有更好的设计。但是,如果您的应用程序基本上需要某种动态模式,您可以考虑使用面向文档的数据库,如MongoDB或Couch。