2013-04-04 54 views
0

我得到這個錯誤,不允許我創建表。它說有一個語法錯誤。遇到SqlServer異常「VARCHAR」

代碼:

@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. 
... 
+0

ID,描述等常數字段? – 2013-04-04 06:06:11

+0

@ChetterHummin是的,他們是 – user2122151 2013-04-04 06:12:19

回答

2

一個受過教育的猜測,但如果一個變量,你幾乎可以肯定是空白的,或者包含空白。

通常我會對此做出評論,但這是我能想到的唯一可能的原因。

打印出SQL字符串以確保。

0

嘗試轉義列名,以防列名中某些列名是SQL中的保留字。


@Override 
public void create() throws SQLException { 
    String sqlString = String 
      .format("create table [%s] ([%s] VARCHAR(20), [%s] VARCHAR(20)...... 
相關問題