我使用更改表查询通过代码动态地将列添加到数据库中的表中。 但当我尝试在该列中插入值时,我遇到了问题。它抛出一个异常列不存在。 当我通过 netbeans 清理并重建我的项目时,它工作得很好。
我使用java和mysql作为数据库。
有谁知道这个问题的解决方案吗?
以下是我的更改表查询代码
String alterTableQuery ="alter table `test` add `abc` varchar(50) NOT NULL default ''";
stmt = conn.prepareStatement(alterTableQuery);
boolean val = stmt.execute();
我正在尝试使用以下代码插入数据。
String sqlQuery = "insert into `test` (`id`,`abc`) values (?)" ;
stmt = conn.prepareStatement(sqlQuery);
boolean val = stmt.execute();
最佳答案
您也可以重新考虑您的设计。一般来说,通过用户界面向表添加列是一种不好的做法。也许您需要更规范的设计。数据库结构的改变不应该来自用户。如果不同的用户同时进行更改,则可能会造成真正的困惑。此外,用户不应具有添加列的安全权限。这对您的系统来说是一个主要风险。
关于java - 将数据插入动态创建的表列时面临的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/618919/