有人可以就此问题告诉我正确的SQL架构:
我正在创建一个具有动态数量选项的应用程序(选项1,选项2,选项3等)。我希望用户能够选择其中一个选项,然后增加与该选项关联的数字。我怎样才能实现动态表格,因为我显然无法预先定义4个表格,并且每个表格都是一个选项。
提前致谢。
答案 0 :(得分:2)
听起来你正在寻找像
这样的表格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。)
答案 1 :(得分:0)
如果要跟踪哪个用户选择了哪个选项,您可以添加用户选项表,并从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};