2012-03-13 48 views
1

我正在實施員工考勤系統。 你能告訴我什麼是錯在下面的查詢:插入查詢有什麼問題包含Now()

INSERT INTO tbtimedetail (outTime) VALUES (NOW()) WHERE empID= '$empid_var' and outTime='NULL'; 

tbtimedetail的結構是:

CREATE TABLE tbTimeDetail(
timeID Int PRIMARY KEY AUTO_INCREMENT, 
empID Int(5), 
dateDetail Date NOT NULL, 
inTime Time NOT NULL, 
outTime Time NOT NULL, 
FOREIGN KEY (empID) REFERENCES tbempdetail (empID) 
); 

回答

1

insert只有增加行到數據庫。 A 其中過濾器在這種情況下沒有意義。

它看起來像你想更新現有行:

update tbtimedetail 
    set outTime = NOW() 
    WHERE empID= '$empid_var' and outTime is NULL; 
+0

heyy謝謝問題解決!! :) – Aps 2012-03-13 06:56:38

0

您應該使用UPDATE而不是INSERT這樣的:

UPDATE tbtimedetails t 
SET t.outTime = NOW() 
WHERE t.empID = '$empid_var' AND t.outTime IS NULL