所以我有一个用户表;存储用户名、电子邮件等内容。然后我有一个 user_settings 表。我将其组织为键/值组合,而不是像 timestamp_logged_in、profile_views 等标准列。例如,这些列是:
user_settings_ID user_ID 名称值
示例记录为:82 2 'timestamp_logged_in' '2009-10-10 02:23:53'
这使设置更具渗透性。我不需要存在列来存储新的用户设置类型。我担心这样做(这会将每个值存储为字符串,并且我会将其转换为中间件中的适当类型)会使排序变得困难。因此,例如,如果我想按上次登录的顺序获取用户列表,排序将需要一个 sql 调用,例如:
SELECT user_ID FROM user.settings WHERE status='open' AND name='timestamp_logged_in' ORDER BY name
但是,这会将找到的记录排序为字符串。有没有办法确保排序算法 mysql 是基于某个值类型实现的(例如,强制它将排序列视为字符串、整数、日期时间、时间戳等)?
任何想法都会非常感激。谢谢。奥利弗·纳萨尔