2014-02-10 31 views
0

我有一個最初爲MySQL寫的時間戳寫入記錄的查詢。基於查詢運行的時間,查詢將15分鐘添加到時間戳。更改MySQL查詢以在SQL Server中工作

$query = $con->prepare("UPDATE TableName SET  
LockExpiryTime=ADDTIME(NOW(),'00:15:00'),LockKey=:lockkey 
WHERE NOW() > LockExpiryTime AND formID = :formid"); 
$data = array('lockkey'=>$_SESSION['LockKey'],'formid'=>$_SESSION['formId']); 
$query->execute($data); 

我知道,NOW()是不是在SQL Server中使用,所以我不知道我怎麼可以重新配置此查詢到它的工作和寫入時間戳時間戳字段。或者在這種情況下datetime會更好?

編輯:我應該解釋這是用於什麼。當用戶登錄表單時,會生成鎖定鍵和過期時間。鎖持續十五分鐘。當用戶註銷時,密鑰和到期時間都會重置。

+1

SQL Server中Now()的等價物是GETDate() –

+0

謝謝,這是勝利的一半。是否有一個等同於ADDTIME的MSSQL? – Chris

回答

4

您可以在SQL Server中使用此DATEADD(MINUTE, 15, getdate()),
而不是您在MySQL中使用的ADDTIME(NOW(), '00:15:00')