【发布时间】:2015-12-02 03:37:30
【问题描述】:
是否有可能基于另一个表列值创建表列? 现有表(geozone)看起来像这样,它不是固定的(可以包含更多的 id 和名称)
id | name
1 | UK
2 | CANADA
3 | JAPAN
我正在尝试从 php 页面创建一个新页面
mysql_query("CREATE TABLE shipping (
`id` int(11) NOT NULL auto_increment,
`product_id` int(11) NOT NULL,
`shipping_cost` decimal(15,2) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
)");
上面的查询成功创建了运输表,但这不是我需要的,我如何创建具有地理区域 id 的 id 的 shipping_cost 列?
示例:shipping_cost_1、shipping_cost_2 和 shipping_cost_3
【问题讨论】:
-
是的,这是可能的,但在运行时创建表/列是糟糕的设计。 See my today answer
-
它只有在点击安装时才会执行(不需要解释),顺便问一下我如何编写查询?
-
你们有多少个送货区?也许是一个糟糕的设计
-
@drew,我可以说这取决于他们有多少,可以少/多。如果他们愿意,他们也可以添加/删除地理区域,我只是把 3 作为我的问题的例子
-
问题是,如果你有 26 个,并且你的生活是在
ALTER TABLE中度过的,并且使用 NULLS,以及所有产品级别的维护。它没有规模,而且打扫房间会很麻烦。无论如何,这都是一件苦差事,关键是要让它快速且最小化。
标签: php mysql sql create-table