UPDATE查询成功但影响PostgreSQL中的0行

时间:2014-05-10 07:22:47

标签: sql postgresql-9.3

我是PostgreSQL(版本9.3)的新手,我尝试运行几个已成功返回但已影响0行的UPDATE查询。

Ex 1。我有两个表庄稼价值和庄稼。 crop在一列(名称)中包含各种cropnames,在另一列(id)中包含关联的主键整数。我想更新cropvalues表中的空列(crops_id) - 这是crops.id的外键 - 以便它包含每个裁剪的相应主键整数 - 我在cropvalues表中有一个临时列与各种我将在更新后删除的cropnames(cropname)。

UPDATE cropvalues
SET crops_id = crops.id
FROM crops
WHERE cropvalues.cropname = crops.name;

Ex 2。我需要更新各列中包含空值的单元格。当包含WHERE语句时,以下查询会影响0行,尽管有明显空单元格;当删除WHERE语句时,查询会影响所有单元格。

UPDATE cropvalues
SET time_id = '1'
WHERE time_id IS NULL;

我必须遗漏一些简单的东西,但它很简单,我不知道在哪里看。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

在这种情况下,PostgreSQL的区分大小写导致查询成功完成但不影响任何行,因为一列的条目大写,而另一列没有条目大写。