1

例如,我有 table names:id integer primary key, name text unique和唯一索引names(name)

我想通过索引样式语法选择记录:(n12, nBill) = (Name[12], Name['Bill'])或使用Name.get['Smitt'].

正如文档所说,它可以用“自然键”来完成,但是如何在 SQLite 中创建它们呢?

更新:
@Frost:正如Spotlight on... Composite Keys所说,必须使用两个键调用具有复合键的记录: Name.get(1, 'Smitt'),这对我来说是错误的。我需要一些东西来通过任何键选择记录:

Name[1] == Name['Smitt'].

4

1 回答 1

0

正如属性文档所说,您可以通过传递:key => true给您的:name属性来创建自然键,如下所示:

class Name
  property :name, :unique => true, :key => true
end

那应该使您能够执行Name["Bill"]or Name.get("Bill")

如果您添加:key多个属性,您也可以拥有复合键。

于 2012-04-10T14:15:38.143 回答