我正在使用Jetbrains Exposed来与我的MySQL 5.7数据库交互。
我遇到的问题是insertIgnore。
在我看来,没有办法知道语句的结果。如果插入了行,则MySQL本身将返回1;如果由于错误(在我的示例中,是重复键错误)而忽略该行,则返回0。
但我无法从插入的结果中看出这一点。
我的代码基本上就是:
transaction(database) {
MyTable.insertIgnore {
it[uniqueColumn] = "foo"
}
}执行两次,其中uniqueColumn是唯一的。虽然第一次成功,第二次不成功,但结果没有区别。
将该语句的结果行表示在某个地方似乎很容易,但我自己或在googling上搜索时都找不到任何东西。
发布于 2021-07-28 23:25:01
我遇到了类似的问题,我使用IntIdTable而不是表,使用insertIgnoreAndGetId而不是insertIgnore来解决它
也许它能帮助任何人
https://stackoverflow.com/questions/66474447
复制相似问题