如何在运行时在mysql表中创建列

时间:2012-09-27 08:43:25

标签: java mysql jsp

在我的网络应用程序中,我有一个表单,我根据需要创建动态选择框和文本框(它可以超过1),默认有一对选择框和文本框,我的表有两个用于存储该选择框和文本框以及值的值的列正在我的表中存储,但问题是如果我在表单中添加多对选择和文本框如何在我的表中存储值?是否可以根据需要在RUN TIME创建表中的列。

3 个答案:

答案 0 :(得分:0)

如果可以计算文本框的数量并选择框,则可以在运行时使用sql的alter table query来动态添加列。

答案 1 :(得分:0)

您可以使用旧的JDBC轻松创建;你可以看到an example here。正如其他人所说,这不是一种适当的设计方法。

我不知道是否可以使用JPA,因为表创建是您需要在persistence.xml中指定的属性。 JPA可以自动创建表,但是每次希望将数据保存到现有表时,您将丢失所有数据(除非有一些我不知道的覆盖配置参数)。

答案 2 :(得分:0)

您为应用程序创建了错误的架构。 要简单地解决这个尝试模式:

groupid, selectbox, textbox

并将数据存储在更多行中。

例如,如果有2对盒子,则存储两行:

1, 'select', 'text'
1, 'select2', 'text2'

等等。