2014-10-09 21 views
-1

嗨我是MySQL和数据库的新手。以下是我的代码:有条件地在MySQL中制作库仑NULL

UPDATE lab.labdata1 SET Date='$d1', Month='$m1', Year='$y1', Time='$n1', Used='$n11' WHERE SL=1 

我想更新的列自从上次更新48小时后为空。有没有可能,如果这么仁慈地帮助我。 (供参考:我使用这里面的PHP代码)

+0

像你要运行该查询PHP使字段为空或您希望它是一个程序,数据库在48小时后将其设置为空? – boomoto 2014-10-09 17:04:09

+0

这看起来[恐怖不安全](http://bobby-tables.com/)。你确定**你的用户参数是[妥善转义](http://bobby-tables.com/php)? – tadman 2014-10-09 17:05:18

+0

为什么不使用MySQL的'DATE'或'DATETIME'列类型?这样做非常难以合作。 – tadman 2014-10-09 17:05:46

回答

0

您应该使用日期时间字段,这里是如果你要更新表中的示例代码:

UPDATE lab.labdata1 set Used= null, lastupdated = NOW() where lastupdated < (NOW() - INTERVAL 2 DAY) 
+0

谢谢boomoto,我会试试这个,让你知道结果。 – Aaron88 2014-10-09 20:23:31

+0

我收到以下错误:#1054 - 'where子句'中的未知列'lastupdated' – Aaron88 2014-10-09 21:50:22

+0

您是否重新设计了表格? lastupdated将是你的表中的一列。 – boomoto 2014-10-10 12:07:58