让我说我有
+-------------+--------------+------+-----+---------+-------+
| 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;
答案 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