Slava Rozhnev, INSERT в любом случае увеличивает автоинкремент, даже если произошла ошибка. Поэтому, при вставке одного значения в справочник, проще сделать INSERT IGNORE, игнорируя ошибку уникального индекса, затем получить соответствующий этому значению id через SELECT.
Сергей, Вы не примеры давайте, а формальные правила. Какой же из вас мидл, если вы до сих пор формализовывать требования не научились. Предполагаю, что нужно что-то такое: /(?:[а-я\-\/ ]+(?:\.|,|\.,))*[а-я\- ]+/ui
Хотя формально здесь валидировать сложно, слишком много вариантов в жизни бывает, например "п. ж/д ст. Ладожское Озеро"
Сергей, Понятнее не стало. Сразу три города в одной строке? Или это один город, повторённый три раза? И будет ли правильной запись "г, Нижний., Новгород. "?