2015-11-06 46 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