Mysql Auto-incrementing int аналогичных данных

Так что это скорее вопрос о том, как можно это сделать, я новичок в кодировании MySQL / PHP, когда речь идет о более чем основах, поэтому мне просто интересно, как можно настроить автоматическое инкрементное int, где if два последних имени были такими же, как и их. Я не смог найти что-либо на нем во время поиска в Интернете, но примером может быть:

в базе данных у нас есть 5 пользователей

1. james smith 1 2. terry smith 2 3. john smith 3 4. jerry fields 1 5. tom straus 1 

Когда эти пользователи регистрируются, мне нужно создать int, чтобы john smith был третьим человеком, чтобы иметь ту же самую фамилию кузнеца, в то время как jerry-поля – это первый человек с полями последнего имени и т. Д. Как это можно сделать?

Я создал форму, которая регистрирует пользователя с помощью jQuery / php ajax, но я хотел бы добавить что-то похожее на это, чтобы он сочетал это число с их именами для создания определенного идентификатора пользователя.

Как AUTO_INCREMENT разделе Использование AUTO_INCREMENT :

Для таблиц MyISAM и BDB вы можете указать AUTO_INCREMENT на вторичном столбце в индексе с несколькими столбцами. В этом случае генерируемое значение для столбца AUTO_INCREMENT вычисляется как MAX( auto_increment_column ) + 1 WHERE prefix= given-prefix . Это полезно, если вы хотите поместить данные в упорядоченные группы.

Поэтому вы можете сделать:

 CREATE TABLE my_table ( firstname VARCHAR(31) NOT NULL, lastname VARCHAR(31) NOT NULL, counter BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (lastname, counter) ) Engine=MyISAM; INSERT INTO my_table (firstname, lastname) VALUES ('james', 'smith' ), ('terry', 'smith' ), ('john' , 'smith' ), ('jerry', 'fields'), ('tom' , 'straus') ; 

Посмотрите на sqlfiddle .