2012-03-15 2 views
1

В настоящее время я использую mongodb, но я также привык к MySQL.Уникальные индексы с двумя полями

Я пытаюсь задуматься, может быть, у нас есть индекс двойного поля?

Например представьте эту таблицу:

Firstname | LastName 
============+=================  
Bob   | Bob 
Bob   | B 
John  | Bob 

индекс, где мы можем иметь базу данных обеспечения уникальности как с First Name и Last Name как один (заменяется без необходимости иметь накладные расходы в качестве третьего поля, как и комбинированные или как хэш или что-то

так, если бы мы Enter { 'firstname: 'bob', 'lastname': 'bob'} не вставит.

Может MongoDB это сделать?

ответ

2

Вы можете сделать это в MongoDB через индекс соединения, например, так:

db.col.ensureIndex({Firstname:1, LastName:1}, {unique:true}) 
-1

Вы можете добавить несколько индексов столбцов в mysql. Например:

alter table users add unique index(firstname, lastname); 

UPDATE:

Это называется композит ограничение уникальности

+0

Пожалуйста, добавьте причину для downvote –

0

MongoDB предоставил вам возможность иметь как составные ключи, так и уникальный индекс s. Вы можете найти информацию об этом по следующей ссылке:

http://www.mongodb.org/display/DOCS/Indexes#Indexes-unique%3Atrue

Здесь есть пример того, что вы ищете:

db.things.ensureIndex ({FirstName: 1, LastName: 1}, {unique: true});

Дайте мне знать, если это поможет вам.

Смежные вопросы