Выберите уникальные записи без естественных ключей - PullRequest
1 голос
/ 29 марта 2012

Например, у меня есть таблица names: id integer primary key, name text unique и уникальный индекс для names(name).

Я хочу выбирать записи по синтаксису в стиле индекса: (n12, nBill) = (Name[12], Name['Bill']) или Name.get['Smitt'].

Как сказано в документации , это можно сделать с помощью "естественных ключей", но как их создать в SQLite?

Обновление:
@Frost: Как Spotlight on ... Составные ключи говорит, что записи с составными ключами должны вызываться с обоими ключами: Name.get(1, 'Smitt'), это неправильно для меня. Мне нужно что-то, чтобы выбрать запись по любой ключ:

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

1 Ответ

0 голосов
/ 10 апреля 2012

Как говорится в свойстве , вы можете создать естественные ключи, передав :key => true свойству :name, например:

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

Это должно позволить вам сделать Name["Bill"] или Name.get("Bill").

Если вы добавите :key к нескольким свойствам, вы также можете иметь составные ключи.

...