2016-01-23 116 views
0

我有一个问题,我需要从学生表中放入记录,如果vote_logs的记录不存在here's the data structure 并将其放在未提交的日志中,但不知道是什么接下来将从表中插入记录

这里是我的SQL,我已经做了:

$stud = mysql_query(" SELECT st.* FROM student st LEFT JOIN vote_logs sv ON st.idno = sv.idno AND st.syearid = sv.syearid 
    WHERE sv.idno IS NULL AND st.syearid = '$no' AND user_type='3'") or die(mysql_error()); 

我应该插入或更新?但如果我使用insesrt,我应该有像储蓄的价值,但我希望那会自动?这可能吗?

+0

这是比仅PHP中的SQL问题,先生 – Phiter

+0

你可以设置一个cron每隔X分钟执行一次查询的工作,所以它会自动执行,但为什么不是有2个表只有1与另一列将是1位表明投票/未投票? – Gal

+0

这是okey,我应该把状态像1是投了票,2是未投票,但在投票结束时,如果我点击锁定(时间到了),那么它会自动保存谁没有投票的学生;吨投票是可能的?学生已经存储在数据库中 – miming

回答

0

你应该创建一个视图,将为您提供相同的功能,而不应对数据,并保持你的模式标准化:

CREATE VIEW unvoted_logs AS 
SELECT st.* 
FROM student st 
WHERE 
    NOT EXISTS (SELECT 1 FROM vote_logs sv 
        WHERE st.idno = sv.idno 
        AND st.syearid = sv.syearid) 
    AND sv.idno IS NULL 
    AND st.syearid = '$no' 
    AND user_type='3'