您好可以在MYSQL中创建有序的select语句,用户将选择要排序的列名。我知道我可以为用户列出预定义的选项,但用户可以选择为每个表创建自己的列。
起初我正在考虑检查列是否在查询结果中,如:
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 order一样。