из одиночных полей (table1_field1, table1_field2, ... table1_fieldN)
                  
                  
                  2) имеет один составной уникальный индекс из N полей (table2_field1_field2...fieldN)
                  
                  
                  
                  
                  
                  добавляется\обновляется запись и соответсвенно вываливается ошибка Duplicate entry 'бла-бла-бла' for key 'бла_бла_бла'
                  
                  
                  
                  
                  
                  всё какбэ хорошо, но:
                  
                  
                  - в случае (1) укажет на первое дублирующее значение ключа, например, table1_field2, а то что table1_field3 тоже дублируется не скажет, пока ещё раз с новым field2 не отправим запрос
                  
                  
                  - в случае (2) скажет, что дублируется значение ключа table2_field1_field2...fieldN и тут непонятно где именно ошибка
                  
                  
                  
                  
                  
                  Проблема собственно в том, что пользователю то надо точно сказать какие из полей дублируются, чтобы он не гадал где чё менять. 
                  
                  
                  
                  
                  
                  для (1) перед (или после?) INSERT\UPDATE делать N COUNT запросов по каждому уникальному ключу и смотреть где COUNT > 0
                  
                  
                  
                  
                  
                  а вот как быть со (2) случаем я не догоняю. Выбирать все записи и чекать в цикле? А если их овердохуя?
                  
                  
                
Нифига ты написал
или сделать один select, в котором ты узнаешь, есть ли такие поля
и еще 1) будет проверять уникальность в каждом столбце по отдельности, а 2) будет проверять уникальность во всех стольцах одновременно
Обсуждают сегодня