我想INSERT OR UPDATE IF EXISTS在一次交易中.
在mysql中,我通常会使用DUPLICATE KEY("UPDATE ON DUPLICATE KEY".)我知道使用各种SQL变体和子查询解决这个问题很多,但我正在尝试在Doctrine(PHP ORM)中实现它.似乎会有Doctrine方法来做这个,因为它是如此功能丰富,但我找不到任何东西.出于某种原因,使用PHP ORM包这是一个问题吗?或者,任何Doctrine专家都知道如何通过黑客或任何方式实现这一目标?
请问您能告诉我如何SELECT FOR UPDATE使用Doctrine 实现一些方法吗?
我需要读取一些计数器值,在PHP代码中使用它并在其他人(来自另一个进程)使用相同值之前立即递增该值.
有没有办法在typo3版本10中执行纯SQL?我怎样才能做到这一点?
// in previous versions you could do the following
$sql = 'SELECT * FROM tt_content;';
$GLOBALS['TYPO3_DB']->sql_query($sql);
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
编辑
简单的脚本SELECT * FROM tt_content只是一个占位符。我想对我的统计页面进行一些特殊的迁移或一些特殊的请求。