我正试图用nativeQuery重命名一个表,如下所示:
$rsm = new ResultSetMapping();
$query = $em->createNativeQuery('RENAME TABLE `'.$oldname.'` TO `'.$newname.'`', $rsm);
$result = $query->getResult();
奇怪的是,表被重命名了,但最后一行抛出了一个错误:
Undefined offset: 1
.vendordoctrinedbalsrcDriverPDOException.php:20
.vendordoctrinedbalsrcDriverPDOResult.php:107
.vendordoctrinedbalsrcDriverPDOResult.php:38
.vendordoctrinedbalsrcResult.php:59
我错过了什么?
您尝试像执行DML SELECT一样执行DDL查询。操作不会产生任何结果集
假设$em
是EntityManager
,则执行此
$em->getConnection()->executeQuery($yourQuery);
任何地方都没有ResultSetMapping
或其他东西。
请注意,这不是我自己测试过的东西,我也不是该原则的积极使用者。我确信原因,而不是如果片段是有效的(谷歌搜索出来的(