У меня есть таблица mariadb с 2 cols: rowid int pk autogenerated и imagen blob.
Используя "Предложение CallableStatement = mariaConn.prepareCall(myinsert)"; Я могу добавить новую строку с блобом в "imagen", но я не могу получить автогенерированный pk col "rowid".
С другой стороны, используя "Предложение предложения = mariaConn.prepareStatement(myinsert)"; Я могу получить автогенерированный col "rowid", но я не могу добавить blob в "imagen" (только если он пуст).
Есть ли способ сделать обе вещи одним звонком? (попытка избежать вставки Statement для получения pk, а затем CallableStatement для обновления blob).
Примечание: в Oracle довольно просто использовать CallableStatement, потому что Oracle insert имеет предложение "return" <= Я пытаюсь подражать ему на mariadb.
Заранее спасибо.
вам не нужно CallableStatement, чтобы вставить blob, простой подготовленный оператор
insert into table(imagen) values(?)
работает, и с этим вы можете получить автогенерируемое значение, если вы используете Statement.RETURN_GENERATED_KEYS во время подготовки и Statement.getGeneratedKeys() после выполнения. Вы также можете сделать
select last_insert_id()
в любое время, но это менее эффективно.
Нет MariaDB 5.6 кстати.