当前位置: 首页 > 知识库问答 >
问题:

UCANAccess:向现有表添加列

许涵容
2023-03-14

我有一个工作的Java项目,它使用Access.accdb数据库存储数据。我正在为我的html" target="_blank">程序进行更新,为用户提供更多的功能。为了使其工作,我需要在现有的表中添加一个列,该列填充了数据。当我研究时,我发现UCanAccess不能支持

ALTER TABLE TableName ADD ColumName DataType

这是不幸的,但我明白,由于低级别的驱动程序不支持它,UCanAccess也不能支持它。

然后我找到了这个解决办法:

如何使用UCanAccess修改表

但这对我也不起作用,因为1。我在用。accdb和2。我不能确定用户是否安装了Microsoft Access。

然后我有了一个想法,用额外的1列克隆当前表,将所有数据克隆到其中,删除旧的数据,并将新的数据重命名为旧的数据。但我不知道该怎么做。

有人知道更好的方法或者知道如何实现我的想法吗?

共有1个答案

国跃
2023-03-14

JackCess2.1.5增加了向现有表添加新列的功能。我们计划在UCanAccess中扩展DDL支持,以启用ALTER TABLE,但同时,如果您将项目更新为使用Jackcess 2.1.5或更高版本(取代UCanAccesslib/文件夹中的早期Jackcess版本),那么您可以如下所示添加列:

// use the Jackcess (2.1.5 or later) API directly 
//   to add a column to an existing table
//
// Note: Close any open UCanAccess connection first.
//
com.healthmarketscience.jackcess.Database db = 
        com.healthmarketscience.jackcess.DatabaseBuilder.open(new File(dbFileSpec));
new com.healthmarketscience.jackcess.ColumnBuilder("newCol")
        .setType(com.healthmarketscience.jackcess.DataType.LONG)
        .addToTable(db.getTable("TableName"));
db.close();

UCanAccess 4.0.0及以上版本现在支持alter table,例如,

Statement stmt = conn.createStatement();
stmt.execute("ALTER TABLE TableName ADD COLUMN newCol LONG");
 类似资料:
  • 问题内容: 我不知道如何使用Laravel框架向现有数据库表添加新列。 我试图使用…来编辑迁移文件。 在终端中,我执行和。 如何添加新列? 问题答案: 要创建迁移,您可以在Artisan CLI上使用migration:make命令。使用特定名称以避免与现有模型冲突 对于Laravel 3: 对于Laravel 5+: 然后,您需要使用该方法(在访问现有表而不是创建新表时)。您可以添加如下所示的列

  • 我不知道如何使用Laravel框架将新列添加到现有的数据库表中。 我试图使用…编辑迁移文件。。。 在终端,我执行和。 如何添加新列?

  • 问题内容: 我需要将表的主键更改为标识列,并且表中已经有许多行。 我有一个脚本来清理ID,以确保它们从1开始是连续的,在我的测试数据库上可以正常工作。 将列更改为具有标识属性的SQL命令是什么? 问题答案: 您无法更改现有的标识列。 您有2种选择, 创建一个具有标识的新表并删除现有表 创建一个具有标识的新列并删除现有列 方法1.( 新表 )在这里,您可以将现有数据值保留在新创建的标识列上。请注意,

  • 我正在表任务中添加新列名标题。但我得到一个错误,该表中不存在此列。谁能帮我解决那个错误。这是我的密码: 然后添加此代码 到创建的新表文件

  • 我想在laravel中现有的表中添加一些新列。 我已经在谷歌上搜索过了,在这些搜索之后,我已经使用命令创建了迁移。 将列添加到用户。php 创建之后,我运行这个命令。 但也犯了同样的错误: 基本表或视图已存在:1050个表“用户”已存在(SQL:create table(int unsigned not null自动递增主键,varchar(255)not null,varchar(255)not

  • 我不知道如何使用Laravel框架将新列添加到我现有的数据库表中。 我尝试使用...编辑迁移文件。 在终端中,我执行和。 如何添加新列?