我正在使用一个表格来存储不同用户在不同投票中的投票。
表具有以下结构。
编号 | poll_id | 选择 | IP地址 id : 自动递增 poll_id : (STRING UNIQUE) 对特定投票是唯一的 opt : (STRING) 用户选择的选项 ip_address: (STRING UNIQUE) 用户的ip地址
这是我的查询
INSERT OR REPLACE INTO tbl_poll(id,poll_id,opt,ip_addr) VALUES (null,'$poll_id','$opt','$ip_addr')
(Here $poll_id, $opt and $ip_addr are php variables which holds the respective values)
现在,场景是这样的,
用户 'A' 投票给 poll_id 'mypoll' 的选项 2。查询完美运行。(插入)
用户 'A' 改变主意并投票支持 poll_id 'mypoll' 的选项 5。查询完美运行。(替换)
但是,如果用户“A”投票支持 poll_id 'yourpoll' 的选项 4。 查询失败(它进行了替换),但它应该插入一条带有 poll_id 'yourpoll' 的新记录
我认为,它只考虑unqiue
约束ip_address
而不考虑poll_id