您好,是否可以在 MYSQL 中创建一个有序的选择语句,用户将在其中选择要排序的列名。我知道我可以为用户制作一个预定义选择列表,但用户可以选择为每个表创建自己的列。
起初我想检查列是否在查询结果中,例如:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
或者
SHOW COLUMNS FROM my_table;
但我想要一个更干净的解决方案,而且我对 mysql 不太熟悉。换句话说:
SELECT * FROM 'users' WHERE users.id = 'user_id' ORDER BY 'column' IF EXISTS ELSE ORDER BY users.id
类似于上面的语句,如果列不存在,则按 id 顺序排列,如 defulat 顺序。