У меня есть таблица с полем AUTO_INCREMENT
. В настоящее время это также ПЕРВИЧНЫЙ КЛЮЧ.
Однако бывают ситуации, когда мне нужен этот столбец AUTO_INCREMENT
, чтобы разрешить дублирование. Другими словами - две разные строки могут иметь одинаковое значение внутри столбца AUTO_INCREMENT
. Это будет означать наличие поля AUTO_INCREMENT, которое не является ПЕРВИЧНЫМ КЛЮЧОМ.
Возможно ли это?
Я предполагаю, что это не так, так как всякий раз, когда я пытаюсь это сделать, я получаю эту ошибку:
ERROR 1075 (42000) at line 130: Incorrect table definition; there can be only one auto column and it must be defined as a key
Мне нравится иметь поле AUTO_INCREMENT, потому что оно избавляет меня от необходимости вручную сохранять / увеличивать отдельный счетчик в другом месте в моей базе данных. Я могу просто вставить в таблицу и взять значение, которое было вставлено. Однако, если у меня не может быть дубликатов, похоже, что я застряну с использованием отдельной таблицы для отслеживания и ручного увеличения этого поля.
ОБНОВЛЕНИЕ: В качестве быстрого пояснения, я уже знаком с группированием поля AUTO_INCREMENT с другим ключом, , как описано здесь . Давайте предположим, что это решение не будет работать из-за других ограничений в базе данных.