2013-08-21 54 views
0

我有一個cloclin程序,其中studnets是進出時鐘。如果一個學生在一天結束時沒有在下午6點30分鐘出去,我有一個mysql語句,自動執行並在下午6點30分給學生髮送時鐘,以幫助保持表格清潔。根據空日期字段在mysql中更新日期格式

當學生進入系統時,它會在適當的時間填充開始時間,結束時間保留爲「0000-00-00 00:00:00」。我很難確定sql語句來檢測emtpty EndTime字段以確定它是否爲空。由於默認情況下,表格列出空白日期字段爲0000-00-00 00:00:00「我用來更新字段的CONCAT方法在更新字段時似乎工作,但無法確定條件」WHERE「

我當前的SQL語句是

$sql = "UPDATE `daycare attendance table` SET EndTime = CONCAT('1899-12-30 ', '18:30:00') WHERE EndTime = CONCAT('0000-00-00 ', '00:00:00')"; 

我也試過

$sql = "UPDATE `daycare attendance table` SET EndTime = CONCAT('1899-12-30 ', '18:30:00') WHERE EndTime = ''"; 

$sql = "UPDATE `daycare attendance table` SET EndTime = CONCAT('1899-12-30 ', '18:30:00') WHERE EndTime IS NULL"; 

劇本只是錯誤作爲

Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in... 

任何幫助嗎?

+0

可能重複[Warning:mysql \ _query():3不是有效的MySQL鏈接資源](http://stackoverflow.com/questions/2851420/warning-mysql-query-3-is-not-一個有效的MySQL的鏈接資源) – NotMe

回答

0

由於它每天運行,你可以只說where end_time < now() - INTERVAL 24 HOUR and start_time >= now() - INTERVAL 24 HOUR;

好吧,更新的樣本撥弄你使用時間戳 - >http://sqlfiddle.com/#!2/bbdfe/1

Probly做的最好的事情是改變從「默認0000- 00-00 00:00:00',這對於時間戳字段無效至有效時間 - > 1970+,所有問題都將消失。

+0

也許你也可能會發現這個使用小提琴:http://sqlfiddle.com/#!2/d3b04/3 –

+0

或者這一個,如果你真的想null:http:// sqlfiddle.com/#!2/40982d/1 –

+0

這是不會工作,因爲如果將更新每個有EndTime列出的記錄,因爲所有EndTimes將