对于 Docker 中的 postgres,我使用一些 .sql 文件来构建数据库。脚本以正确的顺序连接所有文件。它不会启动 Postgres 图像,因为存在语法错误。我没看到,也许你们中有人会这样做?
来自 IntelliJ 的日志:
2018-03-25 11:05:32.628 UTC [73] ERROR: syntax error at or near "EXERCISE_ID" at character 1
2018-03-25 11:05:32.628 UTC [73] STATEMENT: EXERCISE_ID SERIAL NOT NULL PRIMARY KEY,
EXERCISE_NAME VARCHAR(50) NOT NULL,
EXERCISE_DESCRIPTION VARCHAR(300) NOT NULL,
EXERCISE_SUBCATEGORY INT NOT NULL REFERENCES TL_CATEGORIES(CATEGORY_ID),
EXERCISE_DATE_ADD DATE NOT NULL,
EXERCISE_DATE_CHANGED DATE NOT NULL,
EXERCISE_LOCATION_URL VARCHAR(300) NOT NULL,
EXERCISE_STATUS VARCHAR(1) NOT NULL DEFAULT '0'
);
psql:/docker-entrypoint-initdb.d/sqlinit.sql:47: ERROR: syntax error at or near "EXERCISE_ID"
LINE 1: EXERCISE_ID SERIAL NOT NULL PRIMARY KEY,
^
.sql:
CREATE TABLE IF NOT EXISTS TL_EXERCISES (
EXERCISE_ID SERIAL NOT NULL PRIMARY KEY,
EXERCISE_NAME VARCHAR(50) NOT NULL,
EXERCISE_DESCRIPTION VARCHAR(300) NOT NULL,
EXERCISE_SUBCATEGORY INT NOT NULL REFERENCES TL_CATEGORIES(CATEGORY_ID),
EXERCISE_DATE_ADD DATE NOT NULL,
EXERCISE_DATE_CHANGED DATE NOT NULL,
EXERCISE_LOCATION_URL VARCHAR(300) NOT NULL,
EXERCISE_STATUS VARCHAR(1) NOT NULL DEFAULT '0'
);
IntelliJ 的分析没有发现任何错误。
如果你能帮助我,我会很高兴。
最佳答案
2018-03-25 11:05:32.628 UTC [73] STATEMENT: EXERCISE_ID SERIAL NOT NULL PRIMARY KEY,
...
LINE 1: EXERCISE_ID SERIAL NOT NULL PRIMARY KEY,
不知何故,您似乎丢失了 sql 中的“CREATE TABLE”行。我不知道我有多害怕。
关于sql - 字符 1 处或附近的 "EXERCISE_ID"处出现 postgresql 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49475203/