gpt4 book ai didi

mysql - JOIN 上的 SQL 语法错误

转载 作者:行者123 更新时间:2023-12-01 00:19:43 24 4
gpt4 key购买 nike

我的表格:

        USERS_1:                             USERS_2:
+------------+---------+ +------------+---------+
| id |username | | username |claimedBy|
+------------+---------+ +------------+---------+
| 4 | pitiqu | | myUsername | NULL |<- this should become 4
+------------+---------+ +------------+---------+

MY SQL:(字面意思是 MySQL)

UPDATE UL
SET UL.claimedBy = US.username
FROM USERS_1 as UL
INNER JOIN USERS_2 as US
ON US.id = 4
where UL.username="myUsername"

很明显,我想将表 2 的 claimed_by(用户名“myUsername”)设置为表 1 中 id = 4 处的用户名“pitiqu”。

如果所有的“用户名”令人困惑,我很抱歉。希望表格和 SQL 能解决我的问题。

弹出的错误:

#1064 - 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 3 行的 'FROM USERS_1 as UL INNER JOIN USERS_2 as US ON US.id = 4 where UL' 附近使用的正确语法

为什么会这样……有人吗?

EDIT :请原谅语法不正确。我一直在尝试使用 THIS例如,在编辑它时我删除了 SET。

最佳答案

您可以使用这样的更新查询:

update
USERS_2
set
claimedBy = (SELECT username FROM USERS_1 WHERE id=4)
where
username="myUsername"

如果你想要一个连接,正确的语法是这样的,但是在这个特定的上下文中它没有多大意义,我建议你使用第一个查询:

UPDATE
USERS_1 as UL INNER JOIN USERS_2 as US ON US.id = 4
SET
UL.claimedBy = US.username
WHERE
UL.username="myUsername"

关于mysql - JOIN 上的 SQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34634300/

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