Время для холодного душа.
Во-первых, если вы хотите проверить, существует ли имя, и вставить его, если его нет, вы должны проверить его на сервере, при условии надлежащей изоляции и контроля транзакций. То, что у вас есть, помимо того, что вы ужасно неэффективны, сравнивая имя с массивом на клиенте , неверно, потому что оно проверяет, не существовало ли имя (прошедшее время). Он не учитывает параллелизм, и в результате два запроса могут попытаться вставить одно и то же имя.
Во-вторых, если вам нужна уникальность в базе данных, вы применяете ее с помощью ограничений таблицы. Если вам нужно уникальное имя без учета регистра, то вы должны добавить ограничение UNIQUE к вашей таблице в столбце Имя и убедиться, что в столбце используется регистр без учета регистра .