代码之家  ›  专栏  ›  技术社区  ›  AntonioCS

通过查询或脚本在mysql表中插入rownum

  •  0
  • AntonioCS  · 技术社区  · 15 年前

    我有一个表,有5个字段,共有400条记录。我添加了一个新字段,我称之为“order”,顾名思义,它是为了在记录中保持一个顺序。

    由于在插入记录后添加了这个字段,我想知道是否有一种方法可以通过SQL查询使用rownum之类的内容来填充该字段,或者需要使用PHP脚本来执行插入操作?

    附言:我试着用谷歌搜索罗纳姆,但没有发现任何有用的信息:(

    2 回复  |  直到 15 年前
        1
  •  1
  •   vava    15 年前

    我认为在SQL中是不可能的,但您可以使用主键作为初始顺序。毕竟,默认情况下,行是基于它排序的。

    UPDATE table SET order = id;
    
        2
  •  0
  •   OMG Ponies    15 年前

    rownum是Oracle特有的语法。MySQL没有排名功能-最接近的是使用:

    SELECT t.*, 
           @rownum := @rownum+1 'rownum'
      FROM TABLE t, (SELECT @rownum := 0) r
    

    …但这只会对行进行编号-当您跨越一个组时,它不会重置,您必须一次查询一个组。