Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新查询成功,但影响PostgreSQL中的0行_Sql_Postgresql 9.3 - Fatal编程技术网

更新查询成功,但影响PostgreSQL中的0行

更新查询成功,但影响PostgreSQL中的0行,sql,postgresql-9.3,Sql,Postgresql 9.3,我是PostgreSQL(9.3版)的新手,曾尝试运行几个更新查询,这些查询已成功返回,但影响了0行 ex1.我有两个表cropvalue和crops。crops在一列(名称)中包含各种cropnames,在另一列(id)中包含关联的主键整数。我想更新cropvalues表(crops_id)中的一个空列,它是crops.id的外键,因此它包含每个作物的相应主键整数。我在cropvalues表中有一个临时列,其中包含各种cropnames(cropname),更新后我将删除这些列 UPDATE

我是PostgreSQL(9.3版)的新手,曾尝试运行几个更新查询,这些查询已成功返回,但影响了0行

ex1.我有两个表cropvalue和crops。crops在一列(名称)中包含各种cropnames,在另一列(id)中包含关联的主键整数。我想更新cropvalues表(crops_id)中的一个空列,它是crops.id的外键,因此它包含每个作物的相应主键整数。我在cropvalues表中有一个临时列,其中包含各种cropnames(cropname),更新后我将删除这些列

UPDATE cropvalues
SET crops_id = crops.id
FROM crops
WHERE cropvalues.cropname = crops.name;
ex2.我需要更新各个列中包含空值的单元格。下面的查询在包含WHERE语句时影响0行,尽管其中有明显的空单元格;删除WHERE语句后,查询将影响所有单元格

UPDATE cropvalues
SET time_id = '1'
WHERE time_id IS NULL;
我一定错过了一些简单的东西,但它太简单了,我不知道该去哪里找


感谢您的帮助

在本例中,正是PostgreSQL的大小写敏感性导致查询成功完成,但不影响任何行,因为一列的条目大写,而另一列的条目未大写。

您是否按选择运行查询以确认您正在点击这些列您期望,例如,从cropvalues.cropname=crops.name的crops中选择SELET*;从crops,cropvalues中选择*,其中cropvalues.cropname=crops.name;返回两个表中的所有列,但没有行……啊,我刚刚发现我的错误,一列的名称大写!谢谢你让我走上了正确的道路,帕迪。将来,如果你要问的问题非常依赖于表中的数据,你需要显示数据和表定义。最好的方法通常是。不管怎样,为了未来读者的利益,请对你自己的问题发表一个答案,解释什么是错的。不用担心,很乐意帮助。