如何使用此库创建具有复合主键的表。例如:
CREATE TABLE something (
column1,
column2,
column3,
PRIMARY KEY (column1, column2)
);我在文档中看到的唯一示例是单列上的主键:
try db.run(users.create { t in
t.column(id, primaryKey: true)
t.column(email, unique: true)
t.column(name)
}) 我尝试了以下操作,但出错了(...table "“有多个主键):
try db.run(tblTsMosStaged.create { t in
t.column(colTsMosStagedEventId, primaryKey: true)
t.column(colTsMosStagedEventInstance, primaryKey: true)
t.column(colTsMosStagedTaxId, primaryKey: true)
t.column(colTsMosStagedRankId)
...还是只有通过执行任意SQL才有可能
发布于 2017-11-29 16:08:40
表约束 可以使用以下函数在单个列的作用域之外提供其他约束。
PRIMARY KEY约束。与上面的列约束不同,它支持所有SQLite类型、升序和降序以及复合(多列)键。
t.primaryKey(email.asc,name) //主键(电子邮件“ASC,"name") try db.run(tblTsMosStaged.create { t in
t.column(colTsMosStagedEventId)
t.column(colTsMosStagedEventInstance)
t.column(colTsMosStagedTaxId)
t.column(colTsMosStagedRankId)
//ADD this line
t.primaryKey(colTsMosStagedEventId, colTsMosStagedEventInstance, colTsMosStagedTaxId)https://stackoverflow.com/questions/47553472
复制相似问题