Hi!

I have the following tables and the data,

CREATE TABLE category (
   id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY
   name VARCHAR(50) NOT NULL
);

CREATE TABLE user (
   id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
   name VARCHAR(50) NOT NULL,
   category TINYINT UNSIGNED REFERENCES category(id)
);


SELECT * FROM category;
+----+------------+
| id | name       |
+----+------------+
|  1 | Classic    |
|  2 | Gold       |
|  5 | Platinum   |
|  6 | Blacklist  |
+----+------------+

SELECT * FROM user;
+----+------------+----------+
| id | name       | category |
+----+------------+----------+
|  2 | John       | 1        |
|  3 | Mark       | 2        |
|  5 | Kenneth    | 5        |
|  6 | Sammy      | 6        |
|  8 | Jane       | 5        |
+----+------------+----------+


Based on the above, the values of both ids are defragmented.
The category.id 3 and 4 are deleted and
the user.id 1, 4 and 7 are deleted.

May I know if there is any way we can reset (or defrag?) the values so
that they look like the following?


SELECT * FROM category;
+----+------------+
| id | name       |
+----+------------+
|  1 | Classic    |
|  2 | Gold       |
|  3 | Platinum   |
|  4 | Blacklist  |
+----+------------+

SELECT * FROM user;
+----+------------+----------+
| id | name       | category |
+----+------------+----------+
|  1 | John       | 1        |
|  2 | Mark       | 2        |
|  3 | Kenneth    | 3        |
|  4 | Sammy      | 4        |
|  5 | Jane       | 3        |
+----+------------+----------+

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to