У меня есть эти таблицы:Одновременные Key Value Таблица
CO_KEYVALUE
:
co_keyvalueid int
co_keyid int
value text
CO_KEY
:
co_keyid int
keyname varchar(128)
Проблема в том, как управлять эффективно поле имя_раздела быть уникальным в прикладной уровень?
Например:
Клиент 1 вставок ("Name", "Клиент 1")
В то же время, клиент 2 вставок ("Название", "Клиент 1")
Function Put(Name, Value) {
Id = SELECT co_keyid FROM co_key WHERE co_keyname = :Name
If(!Id) {
// Autoincrement
Id = INSERT INTO co_key (NULL, :Name)
}
INSERT INTO co_keyvalue (NULL, :id, :Value)
}
Я знаю, что могу заблокировать весь стол, но есть ли другой способ?
В какой базе данных? Если вы определяете их как UNIQUE, DB должен справиться с этим. – SriniV