使用 typo3 扩展 flux 9.0.1 更新 colPos
Update colPos with typo3 extension flux 9.0.1
由于更新到 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 meldet: Dokumentation 1093 - Table 't1' is specified twice, both
as a target for 'UPDATE' and as a separate source for data
MySQL 不允许在另一个子查询中再次引用 table 正在更新,除非在 FROM
子句内 (Derived Table).
但是,在这种特殊情况下,您可以使用 "Self-Join":
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'
由于更新到 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 meldet: Dokumentation 1093 - Table 't1' is specified twice, both as a target for 'UPDATE' and as a separate source for data
MySQL 不允许在另一个子查询中再次引用 table 正在更新,除非在 FROM
子句内 (Derived Table).
但是,在这种特殊情况下,您可以使用 "Self-Join":
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'