我有一个mariadb表,其中有2列:rowid int pk autogenerated和imagen blob。
通过使用“callablestatement sequence=mariaconn.preparecall(myinsert);”我可以在“imagen”中添加一个带有blob的新行,但无法获取自动生成的pk col“rowid”。
另一方面,使用“语句语句=mariaconn.preparestatement(myinsert);”我可以得到自动生成的col“rowid”,但是我不能将blob添加到“imagen”中(只有当它为空时才这样做)。
有没有办法在一个电话里同时做这两件事(试图避免使用语句插入来获取pk,然后使用callablestatement来更新blob)。
注意:在oracle中,使用callablestatement非常简单,因为oracle的insert有一个“returning”子句<=我正在mariadb上模拟它。
提前谢谢。
1条答案
按热度按时间csbfibhn1#
插入blob不需要callablestatement,这是一个简单的准备语句
如果在准备过程中使用statement.return生成的\u键,在执行之后使用statement.getgeneratedkeys(),则可以获得自动生成的值。你也能做到
任何时候都可以,但效率较低。
这里没有5.6 btw。