Java 如何在运行时在mysql表中创建列
在我的web应用程序中,我有一个表单,我根据需要创建动态选择框和文本框。它可以大于1,默认情况下有一对选择框和文本框,我的表有两列用于存储该选择框和文本框的值,值存储在我的表中,但问题是,若我在表单中添加了多对select和text框,那个么如何在表中存储值呢?是否可以根据需要在运行时在表中创建列。如果您可以计算文本框和选择框的数量,则可以在运行时使用sql的alter table查询动态添加列。您可以使用良好的旧JDBC轻松创建列;你可以看到。正如其他人所建议的,这不是一种合适的设计方法Java 如何在运行时在mysql表中创建列,java,mysql,jsp,Java,Mysql,Jsp,在我的web应用程序中,我有一个表单,我根据需要创建动态选择框和文本框。它可以大于1,默认情况下有一对选择框和文本框,我的表有两列用于存储该选择框和文本框的值,值存储在我的表中,但问题是,若我在表单中添加了多对select和text框,那个么如何在表中存储值呢?是否可以根据需要在运行时在表中创建列。如果您可以计算文本框和选择框的数量,则可以在运行时使用sql的alter table查询动态添加列。您可以使用良好的旧JDBC轻松创建列;你可以看到。正如其他人所建议的,这不是一种合适的设计方法 我不
我不知道使用JPA是否可行,因为表创建是需要在persistence.xml中指定的属性。JPA可以自动创建表,但每次希望将数据持久化到现有表时,您都会丢失所有数据,除非存在我不知道的覆盖配置参数。您为应用程序创建了一个错误的架构。 要简单地解决此问题,请尝试以下模式:
groupid, selectbox, textbox
并将数据存储在更多行中
例如,如果有2对框,则存储两行:
1, 'select', 'text'
1, 'select2', 'text2'
等等。不建议在运行时基于用户交互在表中创建新列。在我看来,这不是一个好方法。与在运行时添加字段相比,您可能更好地重新考虑现有架构。我建议您再创建一列作为ID,并为每个新创建的文本框关联一个唯一的数字,并用该ID和数据列中的数据保存一行。这只是一个想法,因为我不知道实际的设计是什么。。怎样如果我有3对选择框和文本框,您能指定示例查询吗?该表包含一定数量的数据,如果我们在运行时更改其结构,该表中的数据将保持原样吗?