【发布时间】:2021-12-20 04:52:59
【问题描述】:
我有以下,价格后面的尾随空格是故意的:
UPDATE table1
SET "Price " = table2."Price"
FROM table2
WHERE table2."ATT2" = table1."ATT2"
这成功返回:
更新 14
但是,当我执行时
SELECT * FROM table1;
table1 没有按照应有的方式更新 table2 的价格。
完整代码:
UPDATE table1
SET "Price " = table2."Price"
FROM table2
WHERE table2."ATT2" = table1."ATT2";
SELECT * FROM table1;
使用 pgAdmin4,在 psql 客户端中也尝试过,但没有运气。我宁愿使用 pdAdmin4。
此问题尚未解决,因此非常感谢任何帮助
【问题讨论】:
-
可能找不到匹配的行。它对我有用。
-
我使用以下命令检查是否有匹配的行:``` SELECT count(*) FROM table1, table2 WHERE table2."ATT2" = table1."ATT2";``` 这将返回 14 ,解释了为什么上面的问题查询返回 UPDATE 14。但是 table1 仍然没有用 table2 价格更新。
-
您的某一列的名称中是否真的有尾随空格?
-
A) 你怎么知道它成功更新了? B)
"Price "的末尾应该有一个空格吗? C) 您是否在交易中执行此操作而忘记了COMMIT?添加答案以更新您的问题。 -
@jjanes 是的,有一个培训空间,这不应该改变导致我的解决方案失败。
标签: sql postgresql sql-update