Mysql 按子查询删除同一表中的条令
我正在尝试使用doctrine从mysql中删除记录 对应的MYSQL查询Mysql 按子查询删除同一表中的条令,mysql,symfony,doctrine,Mysql,Symfony,Doctrine,我正在尝试使用doctrine从mysql中删除记录 对应的MYSQL查询 DELETE FROM user_fields_data WHERE id NOT IN ( SELECT * FROM ( SELECT id FROM user_fields_data WHERE id IN ( SELECT block_id FROM user_fields_data WHERE template = 1 ) ) AS `ss
DELETE FROM user_fields_data WHERE id NOT IN (
SELECT * FROM (
SELECT id FROM user_fields_data WHERE id IN (
SELECT block_id FROM user_fields_data WHERE template = 1
)
) AS `ss`
) AND template = 1
尝试使用条令删除:
$qb = $this->_em->createQueryBuilder();
$blockId = $qb->select('bl.blockId')
->from('UserFieldBundle:UserFieldsData','bl')
->where('bl.template = 1');
$ids = $qb->select('bl2.id')
->from('UserFieldBundle:UserFieldsData','bl2')
->where($qb->expr()->in('bl2.id',$blockId->getDQL()));
$result = $qb->delete('UserFieldBundle:UserFieldsData','USF')
->where($qb->expr()->notin('USF.id', $ids->getDQL()))
->andWhere('USF.template = :templateId')
->setParameter('templateId', 1)
->getQuery()
->getSQL();
dump($result);
条令查询以错误结束:
[语法错误]第0行,第65列:错误:应为文字,得到“删除”
数据库结构:
请同时附上错误。@DonCallisto错误消息已添加了对于如此复杂的内容,为什么不使用原始SQL查询?