解决PostgreSQL DELETE语句错误:“列不存在”
在PostgreSQL数据库中执行删除操作时,遇到错误消息“列“不存在”。错误语句如下:
<code class="language-sql">delete from "Tasks" where id = "fc1f56b5-ff41-43ed-b27c-39eac9354323";</code>
此语句意图根据特定“id”值从“Tasks”表中删除一条记录。然而,错误表明系统将“fc1f56b5-ff41-43ed-b27c-39eac9354323”解释为列名而不是标识符。
此问题的原因在于引号使用不一致。在SQL中,双引号(")表示标识符(例如,表名、列名),而单引号(')包含字符常量。在此语句中,双引号同时用于定义表名和要比较的“id”值。
为了解决此问题,请确保字符常量正确地用单引号括起来,而标识符仍然用双引号括起来。以下更正后的语句应该可以成功执行:
<code class="language-sql">delete from "Tasks" where id = 'fc1f56b5-ff41-43ed-b27c-39eac9354323';</code>
以上是为什么我的 Postgres DELETE 查询失败并显示'列”不存在”?的详细内容。更多信息请关注PHP中文网其他相关文章!