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 に答える