所以我在这里读了一些帖子,但是我似乎无法在MySQL上使用它。
我有一个带有项ID的记录“计数”,我想根据该项ID更新到我的[项]表中。[人气]。
这是我尝试过的:
Update items
SET items.popularity = countitems.countofscriptiD
FROM items
INNER JOIN
(SELECT Count(scripts.ScriptID) AS CountOfScriptID, scripts.ItemID
FROM scripts GROUP BY scripts.ItemID) as countitems
ON
items.itemid = countitems.itemid
哪个返回MySQL错误:
1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以使用正确的语法
'FROM项目附近INNER JOIN(SELECT Count(scripts.ScriptID)AS CountOfScriptID,在第3行抄写
如果我将其更改为SELECT查询,则可以正常运行,无论是从[items]中选择还是从count查询中进行选择,但是update语句失败了!
任何建议都是很棒的,从我读过的书中我看不出我在哪里出错了。
答案 0 :(得分:2)
执行此操作的正确方法,即在SET之后进行表的联接:
UPDATE items
INNER JOIN
(SELECT Count(scripts.ScriptID) AS CountOfScriptID, scripts.ItemID
FROM scripts GROUP BY scripts.ItemID) as countitems
ON
items.itemid = countitems.itemid
SET items.popularity = countitems.countofscriptiD