另一个表上的SQL Update Int到Equal Int

时间:2014-10-27 13:40:39

标签: mysql sql sql-types

我希望images.url_id值与urls.url_id值相同。

这是我基于this提出的内容,但它不起作用。

update images
set images.url_id = urls.url_id
from images inner join urls
on images.url_id = urls.url_id
;

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

这不起作用,因为在这些值相等的情况下,您尝试使用images.url_id值更新urls.url_id。你已经知道他们不是。

如果要将images.url_id设置为等于urls.url_id所需的{{1}},则需要使用匹配的列来为每行执行此类操作。

答案 1 :(得分:0)

问题在于您是根据自己想要的标准加入,而不是根据自己的标准加入。您需要加入两个表之间通用的另一个字段,或者创建一个临时表或CTE,以获得您想要的结果,然后加入到该表中。

答案 2 :(得分:-2)

CASE表达式用于将一个表达式与SQL中的一组表达式进行比较。 CASE表达式的结果是布尔值truefalse。我们可以使用INSERTSELECTDELETEUPDATE等各种DML语句和CASE语句。

检查语法:SQL CASE

相关问题