您可以使用CASE表达式:
SELECt id AS columnAlias FROM `MY_TABLE`ORDER BY CASE @sortBy WHEN 'updated_at' THEN updated_at WHEN 'user_id' THEN user_idELSE id END;
有些人使用动态SQL,但是CASE表达式解决方案很好,因为它会根据一组固定的列自动检查输入,因此您不会偶然导致SQL注入漏洞。

您可以使用CASE表达式:
SELECt id AS columnAlias FROM `MY_TABLE`ORDER BY CASE @sortBy WHEN 'updated_at' THEN updated_at WHEN 'user_id' THEN user_idELSE id END;
有些人使用动态SQL,但是CASE表达式解决方案很好,因为它会根据一组固定的列自动检查输入,因此您不会偶然导致SQL注入漏洞。