Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 删除列的值,然后按递增顺序放置值_Mysql_Database - Fatal编程技术网

Mysql 删除列的值,然后按递增顺序放置值

Mysql 删除列的值,然后按递增顺序放置值,mysql,database,Mysql,Database,我在一个测试表中填充了100条记录,其中所有行的内容都相同。例如,如果表中有一列名为BatchId_bi,那么对于从1到100的所有行,我为该列插入了值100。同样,所有其他行都是相同的。这给我在将重复记录插入另一个数据库时跟踪这些记录带来了问题 有没有办法,我可以删除列BatchId_bi的所有100个值,并插入第1行的值1,第2行的值2,依此类推,直到第100行的值为100。这对我来说更有意义 请让我知道 谢谢我想你在找这个 投栏 添加自动递增列 如果你想从101开始,那么试试这个 将Bat

我在一个测试表中填充了100条记录,其中所有行的内容都相同。例如,如果表中有一列名为BatchId_bi,那么对于从1到100的所有行,我为该列插入了值100。同样,所有其他行都是相同的。这给我在将重复记录插入另一个数据库时跟踪这些记录带来了问题

有没有办法,我可以删除列BatchId_bi的所有100个值,并插入第1行的值1,第2行的值2,依此类推,直到第100行的值为100。这对我来说更有意义

请让我知道


谢谢

我想你在找这个

投栏

添加自动递增列

如果你想从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 ;