增加mysql表中的所有值

时间:2013-01-29 19:50:23

标签: mysql increment auto-increment

让我说我有

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| id          | int(11)      | YES  | UNI | NULL    |       |
| isbn        | varchar(20)  | NO   |     | NULL    |       |
| title       | varchar(200) | YES  |     | NULL    |       |
| author      | varchar(200) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+

主键是isbn(我现在已经删除了,我已经添加了id(我将很快创建主要版本),然后才能执行此操作我需要确保所有id都是唯一的(所以我想将所有值更新为从1开始递增;

我尝试了以下但是没有任何建议吗?

SET @bookid = 1; UPDATE books SET `id` = @bookid + 1;

2 个答案:

答案 0 :(得分:2)

使用此:

ALTER TABLE books AUTO_INCREMENT=1;

或者如果您还没有id列,也请添加

ALTER TABLE books ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ADD INDEX (id);

答案 1 :(得分:0)

我认为你正在寻找类似的东西

   SET @bookid = 1; 
   UPDATE books SET `id` =`id`+ @bookid ;

你的查询总是会给出id = 2