通过不进行评估以mysql顺序表达

时间:2016-12-23 07:45:37

标签: mysql

当我尝试从绑定语句设置order by列时,就开始出现此问题。 这对我不起作用:

select * from testTable order by field(?, 'userid','name') asc;

由于某种原因,没有评估field()函数。

经过进一步调查后,我发现这也行不通:

select * from testTable order by (1+1) asc

这些都是同样的问题吗?什么是解决方案?

1 个答案:

答案 0 :(得分:0)

我只是在猜测,但我认为当您使用ORDER BY #ColumnIndex时,您无法使用ORDER BY 2(例如SELECT *)。

尝试指定您愿意选择的所有列,或在order by子句中使用列名。