我正在开发一个股票市场类型的网站。我想知道如何允许用户将公司报价保存到一个监视列表中,其中包含与许多其他可用数据类似的所有更新数据。
将不胜感激有关此事的任何帮助。
我正在开发一个股票市场类型的网站。我想知道如何允许用户将公司报价保存到一个监视列表中,其中包含与许多其他可用数据类似的所有更新数据。
将不胜感激有关此事的任何帮助。
对于始终为每个用户设置的任何内容,您应该Users
按照通常的规范化将其保留在表中。至于可选配置,我倾向于喜欢下面的表结构:
TABLE Users:
id INT AI
name VARCHAR
...
TABLE User_Settings
user_id INT PK,FK
name VARCHAR PK
type BOOL
value_int INT NULL
value_str VARCHAR NULL
WhereUser_Settings.type
指定是否应该引用整数或字符串字段。
IE:
INSERT INTO Users (id, name) VALUES (1, 'Sammitch');
INSERT INTO User_Settings (user_id, name, type, value_int) VALUES (1, 'level', 1, 75);
INSERT INTO User_Settings (user_id, name, type, value_str) VALUES (1, 'lang', 0, 'en');
对于插入/更新问题:
INSERT INTO User_Settings (user_id, name, type, value_str) VALUES (1, 'lang', 0, 'fr')
ON DUPLICATE KEY UPDATE value_str='fr';
此外,正如大多数其他人所说,序列化和存储首选项并不是一个特别好的主意,因为:
您无法通过查询检索单个值,您必须检索整个序列化字符串,对其进行反序列化并丢弃不必要的数据。
它很容易损坏,并且很难从中恢复。
编写原始查询是一件很痛苦的事,即:全局修复某个设置。
您将本质上是表格数据的内容存储在单个表字段中。
这应该可以完成这项工作。如果是这样,请随时接受答案。