У меня ситуация в моей таблице базы данных 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
Zend_Db_Select поддерживает предложение USING , но я думаю, что это не поддерживается методом Zend_Db_Adapter delete() .
Возможной альтернативой может быть передача выражения SQL непосредственно в соединение (если вы используете адаптер pdo_mysql , это будет объект PDO ):
$ Db-> GetConnection () -> Exec ($ sqlExpression);
( ВАЖНО : убедитесь, что вы правильно указываете все идентификаторы и значения в предложении SQL, Zend_Db_Adapter имеет обширную документацию об этом).
Я не уверен, что вы пытаетесь сделать, но вот как использовать базовое удаление в Zend:
$db->delete('table1', array('ID != ?' => $otherID, 'field_name = ?' => $otherFieldName));
Это то, что вы ищите?