我有一个简单的MySQL表,并且主索引(id)并未一一编号(1、31、35、100等)。我希望它们被编号为(1、2、3、4)。请告诉我该怎么做。我还要指出,我知道该操作可能造成的后果,但我只是想整理一下桌子。
我同意其他方法也可以,但是我只是给出了一个不同的想法。这将不需要任何临时表创建要求:
SET @i=0;
UPDATE table_name SET column_name=(@i:=@i+1);
问题内容: 如何重置sql表上的主键计数器并用新的主键更新每一行? 问题答案: 我将首先在表中添加另一列,并使用新的PK填充该列。 然后,我将使用update语句来更新所有相关表中的新fk字段。 然后,您可以删除旧的PK和旧的fk字段。 编辑: 是的,正如伊恩所说,您将必须删除然后重新创建所有外键约束。
问题内容: 我有一个大约2亿个文档的ElasticSearch索引,总索引大小为90Gb。 我更改了映射,所以我希望ElasticSearch重新索引所有文档。 我编写了一个脚本,该脚本创建一个新索引(具有新映射),然后遍历旧索引中的所有文档,然后将其放入新索引中。 它似乎可以工作,但是问题是它的运行速度非常慢。它从两天前以300个文档/分钟开始,现在的速度是150个文档/分钟。 该脚本在elas
我的df有列'country'和'country code'作为当前索引。如何删除此索引并创建只计算行数的新索引?我会留下它的样子。我想做的就是在国家旁边添加一个新的索引。多谢!
问题内容: 就像标题所说的… 我阅读了这篇文章(https://www.elastic.co/blog/changing-mapping-with-zero- downtime ),这个概念很棒,但是我很难找到有关如何通过JAVA API进行操作的不错的参考。 我找到了这个插件:https : //github.com/karussell/elasticsearch- reindex,但似乎对我尝
大家好。我用ApachePOI3.7创建了一个spreadshhet。电子表格的前两行显示标题信息。然后从第3行开始,返回的数据填充到电子表格中。我的问题是,有一种方法可以从第3行开始对行进行编号。例如,我希望spreadshhet的第三行声明“1”而不是“3”。 1处理日期:2013年7月30日13:39
我有一个表,它有一个主键ID列,并设置为每个新条目的增量为1,这是一个相当标准的配置。此表定期更新新记录,每月归档一次到存档表,然后截断。 我的问题不是关于重新播种列(使用DBCC--我知道如何这样做),而是关于如何使用新的ID值重新对现有记录进行编号。我应该使用循环的动态SQL查询(删除记录、插入记录)来执行此操作吗?还是有一些我不知道的SQL Server函数可以自动重新编号ID列?