powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Возможно ли?
11 сообщений из 11, страница 1 из 1
Возможно ли?
    #33145172
Демиург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа стало интересно:

Возможно ли такое? Например вводятся какие либо данные в таблицу. Возможно ли такое, чтоб два пользователя одновременно начали вносить данные, и произошло следующее: Например значение первичного ключа должно стать "Х". Так как оба пользователя создают запись одновременно то их записям должен быть присвоен один и тот же АйДи.

Если да, то как с этим бороться? Или все это бред сивой кабылы? ))

спасибо
...
Рейтинг: 0 / 0
Возможно ли?
    #33145176
KSLcom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бред
...
Рейтинг: 0 / 0
Возможно ли?
    #33145210
Демиург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть пользователи не могут получить один и тот же ай ди, даже если обратились г генератору этого АйДи одновременно?
...
Рейтинг: 0 / 0
Возможно ли?
    #33145223
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДемиургТо есть пользователи не могут получить один и тот же ай ди, даже если обратились г генератору этого АйДи одновременно?
Получить-то могут, только вот записать в базу данных не смогут: после получения ID вступает в действие "защита" (всякие триггеры и констрэйны) по проверке первичных ключей и др. возможных конфликтов...
...
Рейтинг: 0 / 0
Возможно ли?
    #33145230
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то назначение идентификатора в разных
базах реализуется по-разному. Есть базы, в которых
нет автоматически генерируемого identity,
а есть уникальные ключи и секвенции или генераторы
последовательностей для ключей.
И всё это существует для задания уникальных
идентификаторов, хотя и называется по разному.

Точнее сформулируйте вопрос.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Возможно ли?
    #33145246
Демиург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так. Сейчас попытаюсь

В конечном счете меня интересует: может ли возникнуть ситуация, при которой в таблице будут существовать две записи с одинаковыми значениями ключевых полей (Хотя понимаю что не могут, тк СУБД просто не позволит вставить запись с неуникальным ключём). Поэтому и спросил насчет "одновремеено".

Т.е. даже если пользователи получат из последовательноси/автоинкремента/итд одино и то же значени ключа, смогут ли они его вставить в базу?
...
Рейтинг: 0 / 0
Возможно ли?
    #33145259
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Они не получат одно и то же значение ключа.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Возможно ли?
    #33145293
Демиург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо

A если я допустим напишу хранимую процедуру (ну типа MAX(ID)+1, конечно может быть и что то другое), то она может и вернуть. Не так ли?
...
Рейтинг: 0 / 0
Возможно ли?
    #33145309
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ключ уникальный, то дублирование не произойдёт гарантированно.

А лучше используйте identity, секвенцию или генератор.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Возможно ли?
    #33146240
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Va1entin

V> А лучше используйте identity, секвенцию или генератор.

Не просто лучше, а именно так и не каких max+1

--
Dik76

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Возможно ли?
    #33146295
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вариант с max+1 МОЖЕТ использоваться, но нужно в транзакции чтение-занесение использовать блокировку таблицы на чтение. Что может оказаться неудобным, если пользователи интенсивно читают таблицу.

Разумеется этот метод не стоит применять для генерации первичного ключа, если СУБД любым способом поддерживает автоинкременентные поля.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Возможно ли?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]