MySQL UPDATE主键冲突,最新最全的MySQL教程.欢迎在线学习下载MySQL教程.
假设有一个表,结构如下:
| mysql> CREATE TABLE `a` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id2` int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM; |
该表中只有6条记录,如下:
| mysql> select * from a; +----+---------+ | id | city_id | +----+---------+ | 2 | 2 | | 3 | 3 | | 5 | 5 | | 4 | 4 | | 6 | 6 | | 7 | 7 | +----+---------+ |
现在想要把id字段分别-1,执行以下语句,得到报错:
| mysql> update a set id=id-1; ERROR 1062 (23000): Duplicate entry '4' for key 'PRIMARY' |
深入浅出