Проверка на дубликат при добавлении записи

Всем привет.

В общем все было нормально, пока я не подумал, что в таблице Shops поле Name должно быть уникальным.

Соответственно при добавлении новой записи нужно как бы не допустить добавления дубля.

Я залез в MySQL и у поля name поставить уникальный индекс.

И в результате этого получило ошибку

Integrity constraint violation: 1062 Duplicate entry

Братья, подскажите пожалуйста, куда чего вписать (изменить) чтобы добиться желаемого результата.

Я новичек, глумиться бессмысленно.

В метод rules() модели нужно добавить валидатор CUniqueValidator:




array('name', 'unique', 'message'=>'Запись с таким именем уже существует.')



Ни разу не замечал, чтобы на этом форуме глумились над новичками, что крайне положительно характеризует Yii коммьюнити :) Welcome to the forum!

Если я правильно понял, ошибка возникает не при сохранении новой записи, а при попытке добавить индекс. Если так - то скорее всего в таблице есть элементы с повторяющимися значениями name - ищем примерно так:


SELECT name, count( id ) as cnt

FROM `shops`

GROUP BY name

ORDER BY cnt desc

Естественно, изменить правила валидации необходимо, чтоб избежать появления ошибки в дальнейшем.

Огромное спасибо за помощь.

Сделал как написали - и все заработало.