У меня есть одна таблица, содержащая много пользователей. В этой таблице у меня есть столбец с именем user_id (INT), который я хочу получать отдельно для каждого человека. user_id ДОЛЖЕН начать с 1
Я подготовил простой пример:
Showing all names
+--------------+-----------------------+
| user_id | name |
+--------------+-----------------------+
| 1 | Bob |
| 1 | Marry |
| 2 | Bob |
| 1 | John |
| 3 | Bob |
| 2 | Marry |
+--------------+-----------------------+
Showing only where name = Bob
+--------------+-----------------------+
| user_id | name |
+--------------+-----------------------+
| 1 | Bob |
| 2 | Bob |
| 3 | Bob |
+--------------+-----------------------+
Следующий запрос будет делать это, но он будет работать, только если "Боб" уже существует в таблице...
INSERT INTO users(user_id, name) SELECT(SELECT MAX(user_id)+1 from users where
name='Bob'), 'Bob';
Если Боб не существует (первая запись), user_id устанавливается в 0 (ноль). Это проблема. Мне нужно user_id, чтобы начать с 1 не 0.