2016-01-23 112 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'