您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

MySQL 5.7,使用存储过程中的变量按列名对表进行排序

MySQL 5.7,使用存储过程中的变量按列名对表进行排序

您可以使用CASE表达式:

SELECT id AS columnAlias FROM `MY_TABLE`
ORDER BY CASE @sortBy WHEN 'updated_at' THEN updated_at 
                      WHEN 'user_id' THEN user_id
                      ELSE id END;

有些人使用动态sql,但是CASE表达式解决方案很好,因为它会根据一组固定的列自动检查输入,因此您不会偶然导致sql注入漏洞。

MySQL 2022/1/1 18:26:32 有449人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶