Вопрос такой, я создаю таблицу в нем будет
CREATE TABLE members(
-> id INT(9) UNSIGNED AUTO_INCREMENT,
-> name VARCHAR(20),
-> last_name VARCHAR(30),
-> email VARCHAR(40) PRIMARY KEY,
-> password VARCHAR(30),
-> INDEX(id);
теперь сам вопрос, нужен ли столбцу id индекс или AUTO_INCREMENT само сделает как PRIMARY KEY
P.S может лучше будет убрать PRIMARY KEY из email и добавить к id , а email-и проверять если нету такого добавлять + index?
Индекс нужен. Не обязательно первичный.
MyISAM: для определения следующего значения счётчика автоинкремента использует индекс, в котором (если он составной) поле с автоинкрементом идёт первым по очереди:
If the AUTO_INCREMENT column is part of multiple indexes, MySQL generates sequence values using the index that begins with the AUTO_INCREMENT column ..
InnoDB: автоинкремент может быть применён только к полю которое является частью индекса. Прямой ответ на ваш вопрос (как же вы читали документацию?!):
To use the AUTO_INCREMENT mechanism with an InnoDB table, an AUTO_INCREMENT column must be defined as part of an index ..
Сборка персонального компьютера от Artline: умный выбор для современных пользователей