ユーザーがデータベース内にデータを保存できるようにするメソッドを作成しています。
私が抱えている問題は、ユーザーの ID のためにデータベースに数値データ型を格納することです。
まず、ID 番号が自動インクリメントされているかどうかを確認するにはどうすればよいですか? これらはそのプロパティです:
Type: Numeric
Column size: 4
Decimal digits: 0
Part of primary key: true
Part of an index: true
Position: 1
インデックスの一部として設定すると(true)、自動インクリメントが可能になることをどこかで読んだと確信しています。誰でも確認できますか?
さらに重要なことに、テーブルにデータを挿入すると、次のようなエラーが表示されます。
Columns of type 'NUMERIC' cannot hold values of type 'CHAR'.
これは私の挿入コードのスニペットです (必要に応じてさらに明らかにすることができます):
Statement pStatement = conn.createStatement();
String selectSQL = ("INSERT INTO APP.PERSON VALUES ('" + '3' + "','" + user + "','" + pass + "','" + fName + "','" + sName + "','" + sQuestion + "','" + sAnswer + "') ");
pStatement.executeUpdate(selectSQL);
ご覧のとおり、ID (最初の値) を手動で 3 に設定しています。これがエラーを引き起こしていると思います。INSERT コマンドを使用して数値を挿入する方法を知りたいです。
Mac OS X Mountain Lion で Netbeans 7.3 Beta 2 を使用して、Java でコーディングしています。Derby データベースを使用しています。