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

Php 通过查询或脚本在mysql表中插入rownums,php,sql,mysql,Php,Sql,Mysql,我有一个表,它有5个字段,总共有400条记录。我添加了一个新字段,我称之为“order”,顾名思义,就是在记录中保留一个顺序 因为我在插入记录后添加了这个字段,所以我想知道是否有一种方法可以通过sql查询使用rownum之类的东西用记录的当前顺序填充此字段,还是需要使用PHP脚本来进行插入 PS:我试着在谷歌上搜索rownum,但没有发现任何有用的东西:(rownum是Oracle特有的语法。MySQL没有排名功能-最接近的方法是使用: SELECT t.*, @rownum :

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

因为我在插入记录后添加了这个字段,所以我想知道是否有一种方法可以通过sql查询使用rownum之类的东西用记录的当前顺序填充此字段,还是需要使用PHP脚本来进行插入


PS:我试着在谷歌上搜索rownum,但没有发现任何有用的东西:(

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

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

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

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

UPDATE table SET order = id;

请注意,当且仅当您从未从表中删除任何记录时,此解决方案才起作用。rexem的答案将起作用,而且是一个更可靠的解决方案。@James McNelis,不,即使您删除了某些内容,它也会起作用。当然,顺序不会连续,但会不断增加,这就是排序时的问题所在。