Я пытаюсь вставить в таблицу последовательность .nextval в качестве первичного ключа, sql в Java
sql = "INSERT INTO USER
(USER_PK, ACCOUNTNUMBER, FIRSTNAME, LASTNAME, EMAIL )
VALUES
(?,?,?,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1, "User.nextval");
ps.setString(2, accountNumber);
ps.setString(3, firstName);
ps.setString(4, lastName);
ps.setString(5, email);
Однако ошибка ORA-01722: invalid number
Все остальные поля правильные, я думаю, что это проблема последовательности, это правильно?
SERIAL PRIMARY KEY
) автоматически увеличиваются на каждыеINSERT
. Обычно вы хотели бы опустить его в оператореINSERT
, чтобы БД обработала его сама. Итак, в вашем случае вы, скорее всего, пропустите столбецUSER_PK
из своего SQL. MySQL, DB2 и SQLServer также имеют аналогичные конструкции. - person BalusC   schedule 21.12.2010serial
PostgreSQL. - person OMG Ponies   schedule 21.12.2010