У меня есть таблица ISAm в mySql, которая была создана примерно так:
create table mytable (
id int not null auto_increment primary key,
name varchar(64) not null );
create unique index nameIndex on mytable (name);
У меня есть несколько процессов, вставляющих строки в эту таблицу. Если два процесса пытаются вставить одно и то же «имя», я хочу убедиться, что один из них либо получит ошибку, либо найдет строку с совпадающим «именем».
Должен ли я заблокировать таблицу и в блокировке убедиться, что имя не существует, или я должен полагаться на сервер, выдающий ошибку одному из процессов, которые пытаются вставить значение, которое уже существует в индексируемом уникальном поле
Я немного не решаюсь использовать блокировку, потому что не хочу попадать в тупиковую ситуацию.