code style конечно у тебя огнище - читается на одном дыхании)) а че не все вообще в строчку?)
все вроде правильно хоть и кривенько
в смысле что мысль понятна и как-то реализована, но... возможны рэйсы
то есть могут выполняться параллельно два процесса
и тогда если второй запишет между проверкой и записью первого, то появится дубль
я только такую возможность тут вижу - это могет быть?
тут есть надежный способ через уникальный индекс на theme
его итак надо бы добавить потому как через него поиск идет, и лучше его сделать уникальным
тогда просто не получится добавить дубль
если надо чтобы не генерилась ошибка на стороне мскл - можно "INSERT IGNORE ..."
а вообще должно бы работать
как проверяешь результат? в бд смотришь что записалось? примеры строк с дублями? может они там уже были?
|