Mysql 删除列的值,然后按递增顺序放置值
我在一个测试表中填充了100条记录,其中所有行的内容都相同。例如,如果表中有一列名为BatchId_bi,那么对于从1到100的所有行,我为该列插入了值100。同样,所有其他行都是相同的。这给我在将重复记录插入另一个数据库时跟踪这些记录带来了问题 有没有办法,我可以删除列BatchId_bi的所有100个值,并插入第1行的值1,第2行的值2,依此类推,直到第100行的值为100。这对我来说更有意义 请让我知道Mysql 删除列的值,然后按递增顺序放置值,mysql,database,Mysql,Database,我在一个测试表中填充了100条记录,其中所有行的内容都相同。例如,如果表中有一列名为BatchId_bi,那么对于从1到100的所有行,我为该列插入了值100。同样,所有其他行都是相同的。这给我在将重复记录插入另一个数据库时跟踪这些记录带来了问题 有没有办法,我可以删除列BatchId_bi的所有100个值,并插入第1行的值1,第2行的值2,依此类推,直到第100行的值为100。这对我来说更有意义 请让我知道 谢谢我想你在找这个 投栏 添加自动递增列 如果你想从101开始,那么试试这个 将Bat
谢谢我想你在找这个 投栏 添加自动递增列 如果你想从101开始,那么试试这个
将BatchId_bi设置为自动递增键是最佳选择。 否则,您可以尝试将此作为一种解决方法
update TABLE set BatchId_bi = 0 ;
replace into TABLE(BatchId_bi,[all your columns])
select @a:=@a+1 AS BatchId_bi,[all your columns] from(select @a:=0) A ,TABLE B
;
delete from TABLE where BatchId_bi = 0 ;
谢谢你的回复。我正在寻找删除栏目的内容,保持栏目名称不变。另外,我已经有了另一个字段,它是主键,因此我想知道是否有其他方法来实现我想要实现的目标。谢谢。有没有办法,我可以在第一行插入101,第二行插入102等数字?
ALTER TABLE test_table ADD BatchId_bi INT NOT NULL AUTO_INCREMENT
ALTER TABLE test_table AUTO_INCREMENT=101;
update TABLE set BatchId_bi = 0 ;
replace into TABLE(BatchId_bi,[all your columns])
select @a:=@a+1 AS BatchId_bi,[all your columns] from(select @a:=0) A ,TABLE B
;
delete from TABLE where BatchId_bi = 0 ;