2
私はJOOQ for javaをpostgresql db接続に使用しています。このクエリを実行しようとしています。Postgres:または "as"の構文エラー
insert into "public"."mission_batches" as "MB"
("micro_task_id", "is_active", "created_at", "updated_at")
values
('7e1cc9e8-fc11-409b-865e-3bf08e6ca924', false, timestamp '2016-10-05 21:47:13.061', timestamp '2016-10-05 21:47:13.061') returning "MB"."id", "MB"."micro_task_id", "MB"."is_active", "MB"."created_at", "MB"."updated_at"
しかし、私はそれは私のローカルDB [9.5]で作業しているDB
org.jooq.exception.DataAccessException: SQL [insert into "public"."mission_batches" as "MB" ("micro_task_id", "is_active", "created_at", "updated_at") values (?, ?, cast(? as timestamp), cast(? as timestamp)) returning "MB"."id", "MB"."micro_task_id", "MB"."is_active", "MB"."created_at", "MB"."updated_at"];
ERROR: syntax error at or near "as"
Position: 40
からエラーを取得しています。テストサーバー[9.4]では、このエラーが発生しています。どこを修正するべきですか? Java側またはPG側? 。returning
句の列はとにかく挿入テーブルを参照するので、あなたは同じように簡単にそれなしで行うことができます(9.4's documentationにPostgres 9.5's documentationを比較し、あなただけのPostgres 9.5で追加されたに挿入しているテーブルをエイリアシング
9.4では挿入のエイリアシングのみがサポートされていますか?このクエリは完全に で実行されているため、「U」。「id」、「U」。「username」、「E」。 「U」の「E」「E」「E」「E」「U」の「E」「E」「abc @ xyz.com ' – theGamblerRises
@theGamblerRisesええ、選択のエイリアシング長い間そこにいた... – Roberto
ああ、大丈夫。次に、コードを変更して、すべてのデバイスで同じバージョンを確認します。ありがとう – theGamblerRises