例如,我有names
的表id integer primary key, name text unique
和names(name)
的唯一索引。
我想按索引式语法选择记录:(n12, nBill) = (Name[12], Name['Bill'])
或Name.get['Smitt']
。
作为文档says,可以使用“自然键”完成,但是如何在SQLite中创建它们?
更新:
@Frost:正如Spotlight on... Composite Keys所说,必须使用两个键调用具有复合键的记录:
Name.get(1, 'Smitt')
,这对我来说是不对的。我需要通过任何键选择记录:
Name[1] == Name['Smitt']
。
答案 0 :(得分:0)
正如property docs所说,您可以通过将:key => true
传递到:name
属性来创建自然键,如下所示:
class Name
property :name, :unique => true, :key => true
end
这应该可以让您Name["Bill"]
或Name.get("Bill")
。
如果将:key
添加到多个属性,则也可以使用复合键。