UPDATE查询不会产生任何更改

时间:2018-02-15 07:02:54

标签: sql postgresql sql-update psql

我写了以下UPDATE语句:

UPDATE print_archive
SET pages = pages*2
WHERE printer ILIKE '%plot%' AND paper_size = 'Arch D';

对于任何带有" plot"的打印机,它将在名为print_archive的表中查找。在他们的名字和纸张尺寸' Arch D'。

如果发现任何,则假设将页数乘以2.

以下是print_archive表数据的示例 - (列名) 的"名_ID""打印机""页面""源""日期"&# 34; FILE_NAME""双工"" PAPER_SIZE"

示例数据:

jane, \\PRINTSRV\plot9, 1, \\COMP-01, 01/21/2017 14:30:39, hello_world.pdf, No, Arch D,

billy, \\PRINTSRV\Plot13, 1, \\COMP-02, 02/20/2016 10:37:23, bye_world.doc, No, Arch D,

但无论我改变什么或运行UPDATE语句多少次,它总是返回0。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

因此,最初我在导入CSV文件时添加了latin1编码,因为导入过程在使用默认编码时会产生编码错误消息。我将CSV文件的导入切换为“ latin2 ”,效果更好。在某些领域似乎确实存在领先的空间,因此添加'%'也有帮助(尽管这在latin1中不起作用)。 pgAdmin4(这是我的用户将如何交互)处理latin2相当不错。虽然从psql cmd我需要将客户端编码设置为latin2才能工作(SET client_encoding为'latin2';)

谢谢你们。您的所有建议和线索都对我有帮助。