我的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
中编写它答案 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));
这是你在找什么?