You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL修改Immich数据库system_config表字段值报错求助

正确修改Immich system_config表的SQL命令及错误解析

正确的SQL命令

UPDATE system_config
SET value = 'false'
WHERE key = 'library.watch.usePolling';

错误原因解析

第一个SQL报错原因

  • 在WHERE条件中写key = library.watch.usePolling时,PostgreSQL会把点号.解析为表与列的关联符号,误以为library是表、watch是关联表、usePolling是列,而非你要匹配的字符串值。必须用单引号'包裹library.watch.usePolling,明确这是一个字符串常量。
  • 另外,value列的类型是character varying(字符串类型),直接写false会被识别为布尔值,虽然PostgreSQL可能做隐式转换,但更规范的写法是用单引号包裹成字符串'false',和现有数据的格式保持一致。

第二个SQL报错原因

  • 误用了语法:单独的SET语句是用来配置数据库参数的,不是更新表数据的语法。更新表必须遵循UPDATE 表名 SET 列=值 WHERE 条件的完整结构,直接写SET "system_config.value" = ...不符合PostgreSQL的UPDATE语法规范,因此触发语法错误。
  • 同时,双引号"在PostgreSQL中用于包裹标识符(如表名、列名),你写的"false"会被数据库当成列名而非字符串值,这也是错误的,字符串值必须用单引号包裹。

内容的提问来源于stack exchange,提问作者rwattstci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 14:32:42