加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:29:40 所属栏目:百科 来源:网络整理
导读:我有以下脚本来创建一个表: -- Create State table.DROP TABLE IF EXISTS "State" CASCADE;CREATE TABLE "State" ( StateID SERIAL PRIMARY KEY NOT NULL,StateName VARCHAR(50)); 它在PgAdmin的查询工具中运行良好.但是当我尝试使用psql从命令行运行它时:
我有以下脚本来创建一个表:
-- 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标记(在“ – ”注释字符之前).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读