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

时间:2009-10-11 12:45:17

标签: php sql mysql

我有一个包含5个字段的表,总共有400条记录。我添加了一个新的字段,我称之为“订单”,顾名思义,它是在记录中保留订单。

因为我在插入记录后添加了这个,我想知道是否有办法使用rownum通过sql查询来记录当前的记录顺序,或者我是否需要使用PHP脚本来填充此字段插入?

PS:我尝试用谷歌搜索rownum并没有找到任何有用的东西:(

2 个答案:

答案 0 :(得分:1)

我认为在SQL中不可能,但您可以使用主键作为初始顺序。毕竟,默认情况下,行仍会根据它进行排序。

UPDATE table SET order = id;

答案 1 :(得分:0)

ROWNUM是Oracle特有的语法。 MySQL没有排名功能 - 你可以得到的最接近的是:

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

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