gpt4 book ai didi

mysql - 建议 : Proper method to store schedule in MySQL

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:47 24 4
gpt4 key购买 nike

免责声明:我还没有上大学的数据库课,所以如果我听起来很无知,请原谅我:)对于这种特定类型的情况。

我有一个存储用户信息的 MySQL 数据库。我已经有了姓名、ID、不同的联系信息等列。

我的软件具有提醒功能,允许每个用户创建自定义提醒方案。您可以选中一个框以在事件发生前 5 米、15 米、1 小时、2 小时、1 天、2 天接收警报。电子邮件和短信警报有相同的警报方案,这意味着我需要为每个用户存储 12-20 个 bool 值。

为每个用户使用 20 列 TINYINT 来执行此操作似乎很难看,因此我一直在字符串列中使用速记符号(使用 CSV)。我确信有更好的做事方式。

预先感谢您的宝贵帮助!

最佳答案

您可以使用多对多关系:

CREATE TABLE alerts (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));
CREATE TABLE alerts_users (alert_id INT, user_id INT);
INSERT INTO alerts (name) values ('5m'), ('15m'), ('1hr'), ('2hr'), ('1d'), ('2d');

id = 1 的用户添加警报 15m:

INSERT INTO alerts_users VALUES ((SELECT id FROM alerts WHERE name = '15m'), 1);

获取 id = 1 用户的所有提醒:

SELECT name FROM alerts a INNER JOIN alerts_users ON a.id = alert_id WHERE user_id = 1;

关于mysql - 建议 : Proper method to store schedule in MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34563018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com