gpt4 book ai didi

mysql - 从连接更新语句

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

我有这个 SELECT 语句:

SELECT * FROM `all_uu_features`

INNER JOIN `all_video_names`
ON `all_video_names`.`video_id` = `all_uu_features`.`video_id`

WHERE `language` = 'en'
AND `navigation` = 'laser-interface'

我需要扭转这一局面并更新数据库。我怎么做?有没有更好的方法:

UPDATE `all_uu_features` SET ...
WHERE `language` = 'en'
AND `navigation` = 'laser-interface'

UPDATE `all_video_names' SET ...
WHERE video_id = ?

这可以用一条语句来完成吗?

所有视频名称:

video_id | video_name
-------------------
1 | ABC
2 | DEF
3 ....

所有_uu_功能:

feature_name | video_id |  language | navigation
-----------------------------------------------
Hello 1 | 1 | en | laser-interface
Hello 2 | 2 | fr | laser-interface

最佳答案

MySQL中有一个多表更新语法。实际上,您可以在文档中找到几乎完全符合您想要做的事情的示例。

-- docs example
UPDATE TABLE_1 LEFT JOIN TABLE_2 ON TABLE_1.COLUMN_1= TABLE_2.COLUMN_2
SET TABLE_1.COLUMN = EXPR WHERE TABLE_2.COLUMN2 IS NULL

就您而言,它将是:

UPDATE
`all_uu_features` uu
INNER JOIN `all_video_names` vid
ON uu.`video_id` = vid.`video_id`
SET uu.column_name = 1, vid.column_name = 2
WHERE `language` = 'en'
AND `navigation` = 'laser-interface';

关于mysql - 从连接更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7100385/

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