postgresql – 通过psql运行SQL脚本会产生PgAdmin中不会出现的语法错误

前端之家收集整理的这篇文章主要介绍了postgresql – 通过psql运行SQL脚本会产生PgAdmin中不会出现的语法错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下脚本来创建一个表:
-- Create State table.
DROP TABLE IF EXISTS "State" CASCADE;
CREATE TABLE "State" (
 StateID SERIAL PRIMARY KEY NOT NULL,StateName VARCHAR(50)
);

它在PgAdmin的查询工具中运行良好.但是当我尝试使用psql从命令行运行它时:

psql -U postgres -d dbname -f 00101-CreateStateTable.sql

我收到语法错误,如下所示.

2: ERROR:  Syntax error at or near ""
LINE 1: 
        ^
psql:00101-CreateStateTable.sql:6: NOTICE:  CREATE TABLE will create implicit sequence "State_stateid_seq" for serial column "State.stateid"
psql:00101-CreateStateTable.sql:6: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "State_pkey" for table "State"
CREATE TABLE

为什么我使用psql而不是pgAdmin会出现语法错误

通过十六进制转储程序运行您的文件00101-CreateStateTable.sql.我敢打赌你在文件的开头有一个UTF-16标记(在“ – ”注释字符之前).

猜你在找的Postgre SQL相关文章