gpt4 book ai didi

mysql - 如何将 SQL 更新查询迁移到 MySQL?

转载 作者:行者123 更新时间:2023-11-29 02:50:45 26 4
gpt4 key购买 nike

我有一个名为“Books”的表,其结构和记录如下:

+--------+----------------------------+----------+
| BookID | BookName | Language |
+--------+----------------------------+----------+
| 1 | Le Comte de Monte-Cristo | FR |
| 1 | The Count of Monte Cristo | EN |
| 2 | Les Trois Mousquetaires | FR |
| 2 | The Three Musketeers | EN |
+--------+----------------------------+----------+

我想根据ID从EN覆盖FR书名。

我有一个有效的 SQL Server 查询,但是当我尝试在 PHPMyAdmin (MySQL) 数据库上运行它时,我收到一个错误:

You have an error in your SQL syntax

MS SQL Server 查询:

UPDATE
a
SET
BookName = B.BookName
FROM
Books a
CROSS JOIN Books b
WHERE
a.Language = 'FR' AND
b.Language = 'EN' AND
a.BookID = b.BookID

谁能告诉我问题出在哪里?

谢谢。

最佳答案

我没试过,但我猜你想要的语句是:

UPDATE Books A 
JOIN Books B ON A.BookID = B.BookID
SET A.BookName = B.BookName
WHERE A.Language='FR' AND B.Language='EN'

cross join 生成笛卡尔积,在您的示例中,您有一个引用每个表的 where 子句,它变成了一个 inner join

关于mysql - 如何将 SQL 更新查询迁移到 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36242439/

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