我在 mySql 中有一个 ISAm 表,它的创建类似于:
create table mytable (
id int not null auto_increment primary key,
name varchar(64) not null );
create unique index nameIndex on mytable (name);
我有多个进程在此表中插入行。如果两个进程尝试插入相同的“名称”,我想确保其中一个出现错误或找到具有匹配“名称”的行。
我应该锁定表并确保名称不存在,还是应该依靠服务器向尝试插入唯一索引字段中已经存在的值的进程之一提供错误?
我对使用锁有点犹豫,因为我不想陷入僵局。