如何重新索引MySQL列?

时间:2015-02-19 11:50:20

标签: php mysql sql

假设MySQĹ表:

col_1    col_2    col_3
data_1x  data_2x  2
data_1x  data_2x  5
data_1x  data_2x  9

重新索引col_3以接收此内容的最简单方法是什么......

col_1    col_2    col_3
data_1x  data_2x  1
data_1x  data_2x  2
data_1x  data_2x  3

col_3是一个简单的整数,它不是主键或外键。任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:2)

试试这个: -

UPDATE TAB
SET col1 = (SELECT (@rownum := @rownum + 1) FROM (SELECT @rownum := 0) r)

我认为这可能会对你有帮助。

答案 1 :(得分:0)

SELECT    col_1,
          col_2,
          @curRank := @curRank + 1 AS col_3
FROM      table_name p, (SELECT @curRank := 0) r
ORDER BY  col_1;

答案 2 :(得分:0)

最好最快的方式:

alter table mytable drop column col_3;
alter table mytable add column col_3 int auto_increment primary key;