web-dev-qa-db-ja.com

DBeaverのテーブルに列を追加しようとすると構文エラー(postgresql)

これをいくつかの方法で試しましたが、テーブルに列を追加しようとすると、毎回構文エラーが発生します。

私はデータベースが初めてなので、おそらく基本的なことで間違っていますが、これが機能しない理由はわかりません。

任意の入力をいただければ幸いです。

追伸クエリ行の最後には「;」があります。スクリーンショットではそれを確認できません。

これまでのところ、「列の追加」を「列の追加」に変更して、「追加」の後に列を続けてみました。 GUIを使用してDBeaverで列をコピーできることは承知していますが、このSQLを機能させたいと考えています。

enter image description here

1
gulfy

Postgres docs によると、正しい構文は次のとおりです。

ALTER TABLE <your_table>
    ADD COLUMN <column name> <column type>,
    ADD COLUMN <column name> <column type>,
    ADD COLUMN <column name> <column type>;

PostgreSQL ADD COLUMN:テーブルに1つ以上の列を追加する のPostgresチュートリアルをご覧ください。

エラーを再現する最小限の例を設定しました。

CREATE TABLE newtable (id int);

ALTER TABLE newtable
    ADD COLUMNS f1 float8, f2 int; 

エラー:「float8」またはその近くの構文エラー
行2:列を追加f1 float8、f2 int; ^

ALTER TABLE newtable
    ADD COLUMN f1 float8, f2 int, f3 text;

エラー:「f2」またはその近くの構文エラー
行2:列を追加f1 float8、f2 int、f3テキスト。

正しい構文を使用する:

ALTER TABLE newtable
    ADD COLUMN f1 float8,
    ADD COLUMN f2 int,
    ADD COLUMN f3 text;
✓

db <> fiddle ここ

1
McNets