Reason: liquibase.exception.DatabaseException: ERROR: syntax error at or near "," for liquibase loadUpdateData with data using quotchar
Reason: liquibase.exception.DatabaseException: ERROR: syntax error at or near "," for liquibase loadUpdateData with data using quotchar
我遇到了这个错误
mental-app_1 | Reason: liquibase.exception.DatabaseException: ERROR: syntax error at or near ","
mental-app_1 | Position: 55 [Failed SQL: DO
mental-app_1 | $$
mental-app_1 | BEGIN
mental-app_1 | UPDATE public.training SET active_since = , active_until = , conditions = 'obj.trainingColumns = [1,2];', game_id = 28, identificator = '3_1', subject_id = 1 WHERE id = 1;
mental-app_1 | IF not found THEN
mental-app_1 | INSERT INTO public.training (id, active_since, active_until, identificator, conditions, game_id, subject_id) VALUES (1, , , '3_1', 'obj.trainingColumns = [1,2];', 28, 1);
mental-app_1 | END IF;
mental-app_1 | END;
mental-app_1 | $$
mental-app_1 | LANGUAGE plpgsql;]
执行变更集的以下部分时
<loadUpdateData onlyUpdate="true" quotchar='"'
file="config/liquibase/data/training.csv"
separator=";"
tableName="training" primaryKey="id">
<column name="id" type="numeric"/>
<column name="active_since" type="datetime"/>
<column name="active_until" type="datetime"/>
<column name="identificator" type="string"/>
<column name="conditions" type="string"/>
<column name="game_id" type="numeric"/>
<column name="subject_id" type="numeric"/>
<!-- jhipster-needle-liquibase-add-loadcolumn - JHipster (and/or extensions) can add load columns here, do not remove-->
</loadUpdateData>
对于此类数据
id;active_since;active_until;identificator;conditions;game_id;subject_id
1;;;3_1;"obj.trainingColumns = [1,2];";28;1
数据集的变更集设置有什么问题?
改为
id;active_since;active_until;identificator;conditions;game_id;subject_id
1;"";"";3_1;"obj.trainingColumns = [1,2];";28;1
原因相同。那就是 PostgreSQL。
尽管仍然不清楚,为什么抛出异常,我已经成功地从数据集中删除了 active_since
和 active_to
列,并将它们从变更集 conf 中删除。但是直到我得到像这样 "obj.trainingColumns = [1,2];"
这样的条件列的引号字符串之前,空的 active_since
和 active_to
是可以的。因此,"obj.trainingColumns = [1,2];"
和该字段为空的共存在那里至关重要
我遇到了这个错误
mental-app_1 | Reason: liquibase.exception.DatabaseException: ERROR: syntax error at or near ","
mental-app_1 | Position: 55 [Failed SQL: DO
mental-app_1 | $$
mental-app_1 | BEGIN
mental-app_1 | UPDATE public.training SET active_since = , active_until = , conditions = 'obj.trainingColumns = [1,2];', game_id = 28, identificator = '3_1', subject_id = 1 WHERE id = 1;
mental-app_1 | IF not found THEN
mental-app_1 | INSERT INTO public.training (id, active_since, active_until, identificator, conditions, game_id, subject_id) VALUES (1, , , '3_1', 'obj.trainingColumns = [1,2];', 28, 1);
mental-app_1 | END IF;
mental-app_1 | END;
mental-app_1 | $$
mental-app_1 | LANGUAGE plpgsql;]
执行变更集的以下部分时
<loadUpdateData onlyUpdate="true" quotchar='"'
file="config/liquibase/data/training.csv"
separator=";"
tableName="training" primaryKey="id">
<column name="id" type="numeric"/>
<column name="active_since" type="datetime"/>
<column name="active_until" type="datetime"/>
<column name="identificator" type="string"/>
<column name="conditions" type="string"/>
<column name="game_id" type="numeric"/>
<column name="subject_id" type="numeric"/>
<!-- jhipster-needle-liquibase-add-loadcolumn - JHipster (and/or extensions) can add load columns here, do not remove-->
</loadUpdateData>
对于此类数据
id;active_since;active_until;identificator;conditions;game_id;subject_id
1;;;3_1;"obj.trainingColumns = [1,2];";28;1
数据集的变更集设置有什么问题? 改为
id;active_since;active_until;identificator;conditions;game_id;subject_id
1;"";"";3_1;"obj.trainingColumns = [1,2];";28;1
原因相同。那就是 PostgreSQL。
尽管仍然不清楚,为什么抛出异常,我已经成功地从数据集中删除了 active_since
和 active_to
列,并将它们从变更集 conf 中删除。但是直到我得到像这样 "obj.trainingColumns = [1,2];"
这样的条件列的引号字符串之前,空的 active_since
和 active_to
是可以的。因此,"obj.trainingColumns = [1,2];"
和该字段为空的共存在那里至关重要