2016-12-13 12 views
0

テーブルに列を追加しようとしていますが、構文が正しくないというエラーが表示されます。私は立ち往生しています、行2の正しい構文に関するアイデアはここにありますか?既存の表に列を追加するためのMySqlでテーブルを変更し、Javaでカラムを追加するには?

String myColumnType = "DECIMAL"; 
st.executeUpdate("ALTER TABLE stocks.stockvalue ADD " + myColumnName + " " + myColumnType); 
String updateTableSQL = ("UPDATE stocks.stockvalue SET stockvalue." + myColumnName + " = ? WHERE stockvalue.stockvalue_id = " + count); 
PreparedStatement preparedStatement = conn.prepareStatement(updateTableSQL); 
preparedStatement.setDouble(2, stockV); 
preparedStatement.executeUpdate(); 
System.out.println("Done"); 
preparedStatement.close(); 
conn.close(); 
+2

**エラーメッセージを投稿してください。** 'ALTER TABLE foo ADD COLUMN'ではありませんか? – chrylis

+0

次回は[documentation](http://dev.mysql.com/doc/refman/5.7/en/alter-table.html)を確認してください。 – shmosel

+0

SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文が1行目の'12/12/2016 DECIMAL 'の近くで使用するようにしてください。 – Zack

答えて

1

構文は例えば

ALTER TABLE table_name 
    ADD column_name column-definition; 

で、

は、私はあなたを考える+ myColumnName + "" + myColumnType

"TABLEのstockvalueのADDのALTER"文中に欠けている単語TABLE。 試してみてください。これが役に立ったら..

+0

スレッド "main"の例外com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL構文にエラーがあります。あなたのMySQLサーバーのバージョンに対応するマニュアルをチェックしてください。正しい構文は、1行目の'12/12/2016 DECIMAL 'の近くで使用してください。 – Zack

+0

TABLEを追加しましたが、それと同じエラー:\ – Zack

+0

おそらくテーブル名です。テーブル名として日付がありませんか? 「12/12/16」など? – Zack

関連する問題