我试图重新在Zend框架下面,我不知道如何做到这一点:Zend_Db的 - 建立删除查询
DELETE FROM mytablename WHERE date(`time_cre`) < curdate() - INTERVAL 4 DAY
我的想法是这样的:
$table = $this->getTable();
$db = Zend_Registry::get('dbAdapter');
$db->delete($table, array(
'date(`time_cre`) < curdate() - interval 4'
));
不这似乎是正确的?
处理这样的事情的最佳方法是什么?
编辑:确认!对不起,我正在调整这个来自我用来测试的SELECT,并且在我粘贴时没有正确更改语法。我编辑了示例来修复它。
@ rg88目前尚不清楚你需要删除什么。 delete的语法是'DELETE FROM [table_name]' – criticus 2011-03-03 19:03:08
你使用的是什么dbms(我会假设mysql?)你的语法是非标准的,而且很奇怪。如果你只想从一列中删除数据,你应该使用UPDATE并将列设置为NULL,'',0等.DELETE专门用于删除整行,除非你的dbms支持我不熟悉的东西。 – 2011-03-03 19:05:12
从哪里获得该语法:'DELETE [something] FROM table [where]'? MySQL,PostgreSQL或Oracle都不使用它。 DELETE后,你不需要任何东西,因为你删除整行,而不是列值。 – singles 2011-03-03 19:06:40