JDBC Java ALTER TABLE语法错误

时间:2012-06-05 07:14:16

标签: java ms-access jdbc

我正在使用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而且我不会去那里做信息维护。

1 个答案:

答案 0 :(得分:1)

该查询不符合MSDN上指定的MS Access的ALTER TABLE语法 ALTER TABLE Statement (Microsoft Access SQL)

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

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

(另请注意,它不包括SET

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