【发布时间】:2015-05-24 07:31:25
【问题描述】:
我的表结构如下:
Table1:
id: Int
name: String
version: Int
表格的相应 Slick 表示将是:
class Table1(tag: Tag) extends Table[(Int, String, Int)](tag, "TABLE1") {
def id = column[Int]("ID")
def name = column[String]("NAME")
def version = column[Int]("VERSION")
def pk = primaryKey("pk_a", (id, version))
}
如何使版本自动递增对应的 id?
我可以有这样的元素:
id name version
1 n1 1
1 n2 2
2 xyz 1
3 bmp 1
3 abc 2
所以上面的结构在版本 1 和 2 中有 id 的 1 和 3,我想让版本自动递增。如果有内置功能,我想使用它。如果没有,我必须先发出一个选择,添加 1 t 版本并创建一个新记录。有什么建议吗?
【问题讨论】:
-
如果你使用select first版本,在某些时候,你会遇到重复key的问题。如果两个查询同时运行。
-
那么最好的方法是什么?我想避免使用触发器!
-
你不能。如果你想保证不会有重复的键,你将不得不使用触发器。
标签: slick