Возможно ли иметь первичный ключ и ключ автоинкремента, связанные с двумя полями соответственно?
Как мудрый, в таблице есть 3 поля, скажем, ID, имя и возраст .. Тогда возможно ли, что "ID is autoincrment key and name is primary key"?
ID is autoincrment key and name is primary key
Согласно документации MySQL :
В таблице может быть только один столбец AUTO_INCREMENT, он должен быть проиндексирован и не может иметь значение DEFAULT.
Так что, пока вы удовлетворяете этим условиям, нет никаких упоминаний о том, что он также должен быть первичным ключом. Таким образом, вы должны иметь первичный ключ и отдельный столбец AUTO_INCREMENT (хотя я не уверен, зачем вам это нужно).
AUTO_INCREMENT
Вы должны использовать ключ автоинкремента в качестве PK и поставить уникальный индекс в поле имени.
Также согласно документации MySQL:
Для таблиц MyISAM вы можете указать дополнительный столбец AUTO_INCREMENT в ключе из нескольких столбцов. См. Раздел 3.6.9, « Использование AUTO_INCREMENT ».
Так что, если вы используете MyISAM, вы можете сделать что-то близкое к тому, что вы просили (если я правильно интерпретирую ваш вопрос): вы можете использовать составной PRIMARY KEY, и один из них может иметь тип INT и используйте свойство AUTO_INCREMENT.
Лучше всего, прочитайте документацию и примеры.
В таблице может быть только один первичный индекс. если ваше name поле действительно имеет первичное назначение индекса, вам не нужно поле с автоинкрементом Но я действительно сомневаюсь в этом. Какова реальная name цель поля?
name