0

我正在使用带有 MS Access 数据库的 Java 编写程序。我的程序的改编片段

Statement s;
String[] tabinfo = {"Albara", "TBala"};
s.execute("ALTER TABLE " + tabinfo[0] + " ALTER COLUMN " + 
    tabinfo[1] + " SET DEFAULT 0 ");

我得到的是一个SqlException: ALTER TABLE syntax error. 我做错了什么?我拥有该文件的全部权利。表和列的名称是正确的,因为名称是从数据库元数据中提取的,并且我没有修改系统表。

这是一个修改我自己的数据库的程序,该程序被我几年前制作的程序使用,因此更改数据库是不可能的。也不可能使用 Java,我的客户计算机不会安装 .Net framework 3.5,我也不会去那里进行信息学维护。

4

1 回答 1

1

该查询不符合ALTER TABLEMSDN ALTER TABLE 语句 (Microsoft Access SQL)中指定的 MS Access 语法

其他来源似乎表明您需要在设置默认值时包含数据类型,例如

ALTER TABLE <tableName> ALTER COLUMN <columnName> <columnType> DEFAULT <defaultValue>

(另请注意它不包括SET

这个 SO 问题似乎表明您需要启用 SQL Server 语法兼容性才能使用它: SQL to add column with default value - Access 2003

于 2012-06-07T18:01:55.170 回答