4

私は以下を実行しています:

private void createTable() {
    try {       
        PreparedStatement psCreateTable = con.prepareStatement("CREATE TABLE     COMPANIES(" +
                "name VARCHAR(50), " +
                "location VARCHAR(50), " +
                "address VARCHAR(50), " +
                "website VARCHAR(50), " +
                "pit VARCHAR(50), " +
                "asset_class VARCHAR(50), " +
                "telephone INTEGER, " +
                "shares INTEGER, " +
                "value DOUBLE(,2) UNSIGNED)");
        psCreateTable.execute();
    } catch (SQLException e) {
        System.out.println("already exists");
        e.printStackTrace();
        ; //bestaat al
    }
}

そして、次のエラーが発生します: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "(" at line 1, column 195.

SQLクエリは私には有効であると思われ、再確認したため、今何をすべきかよくわかりません。

4

3 に答える 3

1

(,2)double データ型で削除します。

CREATE Table Companies
(
    ....,
    value DOUBLE UNSIGNED
)

デモンストレーションを見る

于 2012-10-24T01:41:50.827 に答える
0

SQL クエリにエラーがあります:"value DOUBLE(,2) UNSIGNED)");

PreparedStatement を次のように変更します。

PreparedStatement psCreateTable = con.prepareStatement("CREATE TABLE COMPANIES(" +
                "name VARCHAR(50), " +
                "location VARCHAR(50), " +
                "address VARCHAR(50), " +
                "website VARCHAR(50), " +
                "pit VARCHAR(50), " +
                "asset_class VARCHAR(50), " +
                "telephone INTEGER, " +
                "shares INTEGER, " +
                "value DOUBLE UNSIGNED)");
于 2012-10-24T01:41:31.573 に答える
0
DOUBLE(,2)

これは間違っています。

あなたは試すことができます

DOUBLE(5,2)
于 2012-10-24T01:44:59.887 に答える