2016-03-28 58 views
2

に私はPostgresのERROR:構文でエラーまたは近くには、 "変更" - postgresの

alter table user modify column 'distinguishedName1' text; 

alter table user modify column distinguishedName1 text; 
  • userにこのSQL文を実行するには、
  • distinguishedName1テーブル名です整数データ型の列名

ユーザーの入力に基づいて、データ型をブール値またはテキストまたはvarchar(256)などに変更する必要がありました。しかし、クエリを実行するとエラーが発生します。

ERROR: syntax error at or near "modify"

問題が何かわかりません。適切なクエリに必要なヘルプ。また、使用したがオプションであることに注意してください

ALTER TABLE "user" ALTER COLUMN distinguishedName1 TYPE text USING code::text; 

または

ALTER TABLE "user" ALTER COLUMN distinguishedName1 TYPE text 

+3

の列を変更するために変更使用する必要があります//www.postgresql.org/docs/current/static/sql-altertable.html)modifyキーワードが表示されましたか? –

+1

"*ユーザーの入力に基づいてデータ型を(...)に変更する*"これは恐ろしい考えのように聞こえる。あなたはそれで何を解決しようとしていますか? –

答えて

1

はこれを試してみてください。

The optional USING clause specifies how to compute the new column value from the old; if omitted, the default conversion is the same as an assignment cast from old data type to new. A USING clause must be provided if there is no implicit or assignment cast from old to new type.

サイドノートではreserved keywordsとしてあなたのテーブルに名前を付ける避けるようにしてください:ここmanualを参照してください。列タイプ変更するための

+0

ここでは「USING」は必要ないと思っています – sagi

+0

@sagi: - はい、私はそれを更新しました。 –

+0

クエリ "alter table user alter distinguishedName1 type textを使ってdistinguishedName1 :: textを使っても問題ないですが、データ型を整数またはブール値に変更しようとすると同じクエリが機能しません。 –

2

POSTGRES構文:

ALTER TABLE user ALTER COLUMN distinguishedName1 TYPE text; 
1
alter table user Alter column distinguishedName1 text; 

構文の間違いは、SQL Serverのどこに[手動で](HTTPテーブル

関連する問題