У меня есть программа VB6, которая добавляет столбец в базу данных MS Access, таким образом:
alter table x add column y long constraint z unique
Программа проходит ряд баз данных без ошибок; однако, на тот, который я сейчас смотрю, он дает мне «Изменения, которые вы запросили в таблице, не увенчались успехом, потому что они создали бы повторяющиеся значения в индексе, первичном ключе или отношении ...»
Если это имеет значение, я добавляю значения в столбец, формируя набор записей первичного ключа и новых значений столбца, а затем перебирая каждую запись, чтобы добавить значение в этот столбец. Я делаю recordSet.updateBatch
, когда я все закончу.
Если я уберу ограничение, оно завершится нормально; Я поместил все 1600 значений в электронную таблицу, отсортированную по значениям, которые я добавил, и использовал формулу для проверки на наличие дубликатов. Там нет ни одного. Все строки получают новое значение, ни одно из новых значений не совпадает с любым другим новым значением.
Существуют ли другие причины, по которым я могу получить эту ошибку? Я действительно не хочу снимать ограничения, но я не знаю, как преодолеть это.