I am having a situation in my MySQL database table of row repeating
So I got this
DELETE from table1
USING table1, table1 as vtable
WHERE (NOT table1.ID=vtable.ID)
AND (table1.field_name=vtable.field_name)
Where table1
is the table and vtable
is a virtual table
How should I write that in Zend Framework
Zend_Db_Select
supports the USING
clause, but I think it's not supported by the Zend_Db_Adapter
delete()
method.
A possible alternative would be passing the SQL expression directly to the connection (if you are using the pdo_mysql
adapter, it will be a PDO object):
$db->getConnection()->exec($sqlExpression);
(IMPORTANT: Make sure you quote properly all the identifiers and values in the SQL sentence, Zend_Db_Adapter
has some extensive documentation about this).
I'm not sure what you are trying to do, but this is how to use a basic delete in Zend:
$db->delete('table1', array('ID != ?' => $otherID, 'field_name = ?' => $otherFieldName));
Is this what you are looking for?