gpt4 book ai didi

mysql - 使用 INNER JOIN 更新 SET CASE?

转载 作者:行者123 更新时间:2023-11-29 01:44:25 24 4
gpt4 key购买 nike

我正在尝试更新我们的一个关系表中的一个字段。所讨论的表是用户技能关系表。我要更新的字段是熟练度字段。

我在 PHP 中有一个数组,技能名称作为键,熟练程度作为值。

这是我正在运行的 SQL 语句。

UPDATE rus 
SET proficiency = CASE
WHEN ls.name = 'Objective-C' THEN 'Beginner'
END
FROM rel_users_li_skills rus INNER JOIN li_skills ls ON ls.id = rus.skill_id
WHERE rus.user_id = 3852

PHP 数组被枚举通过在 CASE 语句中添加额外的 WHEN ls.name = 'skill-name' THEN 'proficiency' 语句。

我遇到的问题如下:

查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“FROM rel_users_li_skills rus INNER JOIN li_skills ls ON ls.id = rus.skill_id WHE”附近使用的正确语法

我被这个难住了。我已经发现一些似乎使用相同语法并且没有问题的 SO 帖子和论坛。

最佳答案

MySQL 中,与 SQL Server 不同,您不需要在 FROM 中引用目标表:

UPDATE  rel_users_li_skills rus
JOIN li_skills ls
ON ls.id = rus.skill_id
SET proficiency = CASE WHEN ls.name = 'Objective-C' THEN 'Beginner' END
WHERE rus.user_id = 3852

关于mysql - 使用 INNER JOIN 更新 SET CASE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10711808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com