Ich habe eine einzige Tabelle mit vielen Benutzern. In dieser Tabelle habe ich eine Spalte namens user_id (INT), die ich für jede Person separat inkrementieren möchte. user_id MUSS bei 1 beginnen
Ich habe ein einfaches Beispiel vorbereitet:
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 |
+--------------+-----------------------+
Die folgende Abfrage wird dies tun, aber sie wird nur funktionieren, wenn 'Bob' bereits in der Tabelle existiert...
INSERT INTO users(user_id, name) SELECT(SELECT MAX(user_id)+1 from users where
name='Bob'), 'Bob';
Wenn Bob nicht existiert (erster Eintrag), wird user_id auf 0 (Null) gesetzt. Das ist das Problem. Ich brauche die user_id ab 1 und nicht ab 0.