2015-11-06 41 views
2

我目前有一個查詢,我在刪除通話記錄,但經過其他考慮後,我寧願更新記錄在is_deleted的基礎上,以便我可以隨時記錄什麼是在系統中,或者在稍後時間取消刪除該記錄。簡單的PHP和SQL查詢 - 更新值

我的當前查詢:

$delete=mysql_query("DELETE FROM pin_status_types WHERE pinstatus_id='$delete'"); 

delete一個相反的記錄的,我寧願在0列改變一個值1。

0 =假(不刪除) 1 =真(刪除)

糾正我,如果我錯了,但我不會做(注意,我添加了表格和列。以便於說明)。

$delete=mysql_query("UPDATE table.pin_status_types SET column.is_deleted = 1 WHERE pinstatus_id='$delete'"); 
+0

就是這樣。 –

+0

哇!在黑暗中拍攝總數。謝謝:) – Kray

+0

不客氣。 –

回答

1

更新您的查詢:

mysql_query("UPDATE pin_status_types SET is_deleted = 1, date_deleted = NOW() WHERE pinstatus_id = '{$delete}'" 

而且,正如大衛在評論中建議,您可能需要添加時間戳當一個紀錄被審計旨意刪除了。

更新:更改了查詢以涵蓋評論中提出的問題。使date_deleted列默認爲0,而不是CURRENT_TIMESTAMP。有關詳細信息,請參見this question

Please learn about and use PDO going forward

+0

我能夠看到我搞亂了什麼,並解決了它。 – Kray

+0

糟糕,但是我現在添加帶有時間戳的deleted_on。我得到不正確的表定義;在DEFAULT或ON UPDATE子句中只能有一個TIMESTAMP列使用CURRENT_TIMESTAMP,因爲我現在已經有了「已創建」列的時間戳記。建議的工作? – Kray

+0

您在MySQL上使用的是舊版本,我會更新我的答案以涵蓋該版本。 – IROEGBU