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

PostgreSQL执行CREATE TABLE报42601 near 'not'语法错误求助

报错根本原因

你遇到的语法错误是user_on_free_plan和boolean之间存在不可见的特殊空白字符(最常见的是Unicode非中断空格U+00A0),不是标准的ASCII空格。

这类特殊空白通常是从办公文档、网页、第三方编辑器中复制内容时意外带入的,PostgreSQL的SQL解析器无法识别这类特殊空白,会把user_on_free_plan boolean识别为一个连续的非法标识符,解析到后续的not关键字时无法匹配字段定义的语法规则,就会抛出你遇到的42601语法错误。
因为这个特殊字符绑定在该行内容中,所以无论你把该行移动到建表语句的任何位置,报错都会指向这行,也不会影响其他手动编写的同类建表语句执行。

解决方法

  • 直接整行删除user_on_free_plan boolean not null,,手动重新输入该行内容即可,不要复制粘贴原有内容
  • 也可以开启编辑器的「显示不可见字符」功能,找到user_on_free_plan和boolean之间的特殊空白,替换为普通空格即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:06:04