AhANiBoy: MySQL, ID löschen, neu vergeben, geht, nicht UNIQUE ?

Beitrag lesen

hi

In der Schule lernten wir,
dass eine ID einmalig ist in MySQL.

Auch wenn man einen Eintrag aus der Tabelle löscht,
und einen neuen Eintrag in die Tabelle macht,
wird es NIE die ID des gelöschten Eintrages annehmen.

Habe dazu nen Test gemacht und festgestellt dass kein Fehler kommt,
wenn man die ID nochmals vergibt,
die man zuvor löschte.

Bitte um eine Begründung!
Was läuft falsch?

Schönen Tag noch wünscht
Euer AhANiBoy

***       ***       ***       ***       ***       ***

mysql> SELECT * FROM idtest;
Empty set (0.00 sec)

mysql>
mysql>
mysql> INSERT INTO idtest VALUES ('', 'foo', 'bar');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO idtest VALUES ('', 'max', 'mayer');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO idtest VALUES ('', 'willy', 'tenner');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql> SELECT * FROM idtest;
+----+-------+--------+
| id | first | last   |
+----+-------+--------+
|  1 | foo   | bar    |
|  2 | max   | mayer  |
|  3 | willy | tenner |
+----+-------+--------+
3 rows in set (0.00 sec)

mysql>
mysql>
mysql> INSERT INTO idtest VALUES ('2', 'aaa', 'bbb');
ERROR 1062: Duplicate entry '2' for key 1
mysql>
mysql>
mysql>
mysql> DELETE FROM idtest WHERE id='2';
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql>
mysql> SELECT * FROM idtest;
+----+-------+--------+
| id | first | last   |
+----+-------+--------+
|  1 | foo   | bar    |
|  3 | willy | tenner |
+----+-------+--------+
2 rows in set (0.00 sec)

mysql>
mysql>
mysql>
mysql>
mysql> INSERT INTO idtest VALUES ('2', 'aaa', 'bbb');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql>
mysql> SELECT * FROM idtest;
+----+-------+--------+
| id | first | last   |
+----+-------+--------+
|  1 | foo   | bar    |
|  2 | aaa   | bbb    |
|  3 | willy | tenner |
+----+-------+--------+
3 rows in set (0.00 sec)

mysql>