我不知道如何问这个问题 - 它可能会在某处得到回答,但它有点凌乱;)
有两个表可以对其他地方的对象的标志(标签)进行排序。
表 1:booka_flags
感兴趣的列中的标志是 id(INT) 和 title(VARCHAR)
表 2:booka_flags_items
感兴趣的列中的标志项是 id(INT) 和标志 (VARCHAR)
我想booka_flags_items.flag
从 VARCHAR(可从booka_flags.title
)更改为 ID(可从booka_flags.id
)
我写这个查询的“想法”(经过一些研究)如下:
UPDATE
booka_flags_items
SET
booka_flags_items.flag = booka_flags.id
FROM
booka_flags_items
INNER JOIN
authors
ON
booka_flags_items.flag = booka_flags.title
但它不起作用。这个查询也不起作用:
UPDATE
booka_flags_items
SET
booka_flags_items.flag = (
SELECT booka_flags.id
FROM booka_flags
INNER JOIN booka_flags_items
ON booka_flags_items.flag = booka_flags.title
)
解决这样的查询的正确方法是什么?
我猜你想用 booka_flags 的 id 列更新 booka_flags 的 id 列,其中 title 匹配标志。根据 mysql,您更新的查询看起来不正确
尝试:
更新 booka_flags_items t1 INNER JOIN booka_flags t2 On t1.flag = t2.title SET t1.id = t2.id
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句