在zend框架中写下删除查询

时间:2011-09-21 05:47:29

标签: php mysql zend-framework

我的MySQL数据库表中有一个重复行的情况 所以我得到了这个

DELETE from table1
USING table1, table1 as vtable
WHERE (NOT table1.ID=vtable.ID)
AND (table1.field_name=vtable.field_name)

其中table1是表,vtable是虚拟表

我应该如何在 Zend Framework

中编写它

2 个答案:

答案 0 :(得分:2)

Zend_Db_Select支持USING子句,但我认为Zend_Db_Adapter delete()方法不支持此项。

一种可能的替代方法是将SQL表达式直接传递给连接(如果您使用的是pdo_mysql适配器,它将是PDO object):

  

$ DB->的getConnection() - > EXEC($ sqlExpression);

重要:请确保正确引用SQL语句中的所有标识符和值,Zend_Db_Adapter对此有一些extensive documentation

答案 1 :(得分:1)

我不确定你要做什么,但这是如何在Zend中使用基本删除:

$db->delete('table1', array('ID != ?' => $otherID, 'field_name = ?' => $otherFieldName));

这是你在找什么?