我有一个表,其中字段(id、brand、model、os)id 作为主键
表有 ~ 6000 行
现在我想添加 id=4012 的新字段(已经存在)并为 id>4012 增加 id++
最愚蠢的方式:
做表备份
删除 id >= 4012 的条目
插入 id = 4012 的新条目
从备份恢复表
愚蠢,但有效))
寻找更漂亮的解决方案 Thx
表结构:
CREATE TABLE IF NOT EXISTS `mobileslist` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`brand` text NOT NULL,
`model` text NOT NULL,
`os` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=14823 ;
我尝试:
UPDATE mobileslist SET id = id + 1 WHERE id IN (SELECT id FROM mobileslist WHERE id >= 4822 ORDER BY id);
但得到了答案:
1093 - 您不能在 FROM 子句中指定目标表 'mobileslist' 进行更新