mysql增加自增列
•
数据库
在MySQL中,如果想在查询结果中额外添加一个自增的列,可以使用以下方法:
1. 使用变量
“`sql
SELECT @rowid:=@rowid+1 AS rowid, t.*
FROM table t, (SELECT @rowid:=0) r
“`
这个方法通过变量@rowid来实现每行rowid自动加1。
2. 使用用户变量
“`sql
SELECT @rownum:=@rownum+1 AS rownum, t.* FROM table t,
(SELECT @rownum:=0) r
“`
类似方法1,只是使用用户变量@rownum。
3. 使用子查询
“`sql
SELECT
(SELECT COUNT(*) FROM table AS t1 WHERE t1.id <= t.id) AS rowid,
t.*
FROM table t
“`
通过子查询来计数实现rowid。
4. 使用ORDER BY FIELD
“`sql
SELECT
@rownum:=@rownum+1 AS rownum,
t.*
FROM table t
ORDER BY id
“`
通过ORDER BY按某个字段排序,结合用户变量生成rowid。
所以MySQL可以通过多种方式模拟实现一个自增rowid用于查询结果中。需要注意的是,如果没有ORDER BY的话,rowid的顺序是不确定的。
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/1eceac3532.html
