gpt4 book ai didi

mysql - 每次尝试从临时表更新 myData 时都会出现 SQL 语法错误

转载 作者:行者123 更新时间:2023-11-29 02:51:37 25 4
gpt4 key购买 nike

我有一个名为 myData 的简单表,如下所示:

ID     NAME
1 Bob
2 Sue
3 Doug

然后我有一个临时表,其中包含用户所做的更改。TEMP 表如下所示:

ID     NAME
1 Bobby
2 Sue
3 Douglas

我想做的就是用对 TEMP 的更改更新 myData。我试过这段代码:

UPDATE myData
SET myData.name = temp.name
FROM temp
WHERE myData.id = temp.id;

这段代码:

UPDATE myData
SET myData.name = temp.name
FROM myData
INNER JOIN temp
ON myData.id = temp.id;

和这段代码:

MERGE INTO myData
USING temp
ON myData.id = temp.id
WHEN MATCHED THEN
UPDATE
SET myData.name = temp.name;

所有这些例子都给我一个 SQL 语法错误。在前两个 FROM 似乎是问题所在。在最后一个示例中,MERGE 似乎是问题所在。

我一定遗漏了一些明显的东西。有任何想法吗?如果重要的话,我在 mySQLWorkbench 上使用 mySQL。

更新***************************************

我通过这样做摆脱了语法错误:

UPDATE myData, temp
SET myData.name = temp.name
WHERE myData.id = temp.id;

但现在我被告知“您正在尝试更新一个没有使用 KEY 列的 WHERE 的表”。 ID 被设置为两个表中的主键,那么它来自哪里?

最佳答案

UPDATE myData
INNER JOIN temp on myData.id = temp.id
SET myData.name = temp.name;

关于mysql - 每次尝试从临时表更新 myData 时都会出现 SQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35086953/

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