查询:
select (@rownum:= @rownum + 1) as row_number from (select * from information_schema.tables limit 25) t, (select @rownum := (date_format('2018-12-16 00:00:00','%k'))) r;
在mysql 8中出现语法错误,但在mysql 5.7中没有。请帮忙。
6ie5vjzr1#
正如brilliant so的人所说:自从mysql版本8.0以来,row\ u number已经成为一个语言关键字,您不能将它用作列别名。所以你需要改变这个:
select (@rownum:= @rownum + 1) as row_number from ...
收件人:
select (@rownum:= @rownum + 1) as rn from ....
另一种解决方案是引用限定符,如:
select (@rownum:= @rownum + 1) as "row_number" from ....
1条答案
按热度按时间6ie5vjzr1#
正如brilliant so的人所说:自从mysql版本8.0以来,row\ u number已经成为一个语言关键字,您不能将它用作列别名。
所以你需要改变这个:
收件人:
另一种解决方案是引用限定符,如: