有人可以就这个问题的正确 SQL 架构给我建议:
我正在创建一个具有动态数量的选项(选项 1、选项 2、选项 3 等)的应用程序。我希望用户能够选择其中一个选项,然后增加与该选项关联的数字。如何实现动态表,例如,我显然无法预先定义 4 个表,并且每个表都是一个选项。
提前致谢。
有人可以就这个问题的正确 SQL 架构给我建议:
我正在创建一个具有动态数量的选项(选项 1、选项 2、选项 3 等)的应用程序。我希望用户能够选择其中一个选项,然后增加与该选项关联的数字。如何实现动态表,例如,我显然无法预先定义 4 个表,并且每个表都是一个选项。
提前致谢。
听起来你在找一张像
CREATE TABLE `options` (
option_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
occurrences INT UNSIGNED
) ENGINE=InnoDB;
然后,您可以运行如下查询:
UPDATE options SET occurrences = occurrences + 1 WHERE option_id = ____;
(根据访问者选择的内容填写 option_id。)
如果您想跟踪哪个用户选择了哪些选项,您可以添加一个用户选项表,并从 VoteyDeciple 中删除出现次数计数器。
CREATE TABLE `UserOptions` (
`uo_user` INT NOT NULL REFERENCES `users`(`user_id`),
`uo_option` INT NOT NULL REFERENCES `options`(`option_id`)
);
然后,如果您想计算某个选项的出现次数,您可以使用
SELECT count(*) as `occurrences` from UserOptions where uo_option={$option_id};