0

我收到了不允许我创建表的错误。它说存在语法错误。

代码:

@Override
public void create() throws SQLException {
    String sqlString = String
            .format("create table %s(%s VARCHAR(20), %s VARCHAR(20), %s VARCHAR(50), %s VARCHAR(20), %s VARCHAR(5), %s VARCHAR(10), %s VARCHAR(20), %s VARCHAR(20), primary key (%s) )",
                    _tableName, ID, DESCRIPTION, STREET, CITY, PROVINCE, POSTALCODE, STOREPHONE, AUTOSERVICEPHONE, ID);
    super.create(sqlString);
}

例外

Exception in thread "main" java.sql.SQLSyntaxErrorException: Syntax error: Encountered "VARCHAR" at line 1, column 133.
...
4

2 回答 2

2

一个有根据的猜测,但如果你的变量几乎肯定是空白的,或者包含一个空白。

通常我会对此发表评论,但这是我能想到的唯一可能的原因。

打印出 SQL 字符串以确保。

于 2013-04-04T06:11:16.610 回答
0

尝试转义您的列名,以防您的某些列名是 SQL 中的保留字。


@Override
public void create() throws SQLException {
    String sqlString = String
            .format("create table [%s] ([%s] VARCHAR(20), [%s] VARCHAR(20)......
于 2013-04-04T06:17:18.230 回答