инкрементный счетчик mysql

Мой вопрос довольно прост, но ответ может быть сложным.

Я нахожусь на PHP, и я хочу вручную управлять уникальным идентификатором для своих объектов. Какова сложность управления атомарностью. Я не хочу, чтобы 2 элемента получили одинаковый идентификатор.

«Элементы» сгруппированы в «Группы». В каждой группе я хочу, чтобы идентификаторы элементов начинались с 1 и постепенно возрастали для каждой вставки в этой группе.

Моим первым решением является столбец «lastID» в таблице «Группы»:

CREATE TABLE groups ( id INT AUTO_INCREMENT, lastId INT ) CREATE TABLE elements ( myId INT, multiple values ...) 

Чтобы избежать многих элементов с одинаковым ID, я должен обновить lastId и выбрать его в Atom SQL Query.

    После этого, один из найденных, у меня есть уникальный идентификатор, который не может быть выбран снова, и я могу вставить свой элемент.

    Мой вопрос – как решить смелую часть? Моя база данных – это MySQL с движком MyISAM, поэтому нет поддержки транзакций.

     UPDATE groups SET lastId = lastId + 1 WHERE id = 42 SELECT lastId FROM groups WHERE id = 42 

    Есть ли что-то более атомное, чем эти 2 запроса?

    благодаря

    Related of "инкрементный счетчик mysql"