使用typo3扩展通量9.0.1更新colPos

时间:2018-11-27 14:07:56

标签: mysql typo3 flux

由于更新流量为9.0.1,所以我需要更新元素的colPos。

这很好:

UPDATE `tt_content` 
SET colPos = ((tx_flux_parent * 100) + 11) 
WHERE tx_flux_column = "content";

但是我还需要更新本地化的内容元素。它在tx_flux_parent中具有本地化的父uid。但是我需要标准语言的父uid。

我需要通过l18n_parent在tt_content中获取值“ tx_flux_parent”。 因此,我正在尝试使用l18n_parent建立查询,如下所示:

UPDATE `tt_content` as t1 
SET colPos = (( (SELECT t2.tx_flux_parent 
                 FROM tt_content t2 
                 WHERE t1.l18n_parent = t2.uid) * 100) + 11) 
WHERE t1.tx_flux_column = "content";

并得到这个:

  

MySQL融合:Dokumentation 1093-表't1'被指定了两次,两者   作为“ UPDATE”的目标,并作为数据的单独来源

1 个答案:

答案 0 :(得分:0)

MySQL不允许在另一个子查询中再次引用表正在更新,除非 位于FROM子句(Derived Table中)。

但是,在这种情况下,您可以使用“自加入”:

UPDATE `tt_content` as t1 
JOIN `tt_content` as t2 
  ON t1.l18n_parent = t2.uid 
SET t1.colPos = ((t2.tx_flux_parent * 100) + 11) 
WHERE t1.tx_flux_column = 'content'