我使用Jetbrains Exposed与我的MySQL 5.7数据库进行交互。
我的问题是insertIgnore
。
在我看来,没有办法知道语句的结果。如果插入了一行,MySQL本身将返回1,如果由于错误(在我的例子中,是重复键错误)而忽略它,则返回0。
但是我无法从插入的结果中看出这一点。
我的代码基本上就是:
transaction(database) {
MyTable.insertIgnore {
it[uniqueColumn] = "foo"
}
}
执行两次,uniqueColumn
是唯一的。虽然第一次成功了,第二次不成功,但结果没有什么不同。
将语句的结果行表示在某个地方似乎是一件容易的事情,但是我自己或谷歌时找不到任何东西。
我有一个类似的问题,我解决了它使用IntIdTable而不是表用insertignreandgetid代替insertIgnore
也许它会帮助任何人