質問: connection.cursor cur.execute("Create Table(table001(column001 int)" なら実行できます。実現したいのは、 cur.execute("Create Table(テーブル001(カラム001 int)" のようなテーブルの作成です。 psqledit でなら、ダブルクォーテーションで括ることで実行できました。 ``` ソースコード ``` ### 試したこと cur.execute("Create Table("テーブル001"("カラム001" int)" cur.execute("Create Table('テーブル001'('カラム001' int)" いずれもダメでした。 2018/07/23 17:27追記 cur.execute("Create Table(""テーブル001""(""カラム001"" int)" cur.execute("Create Table(''テーブル001''(''カラム001'' int)" ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: 文字列中のシングルクォートかダブルクォートを2つ続けてみては? Oracle 11iでテーブル名や列名をマルチバイト文字で設計されたSJIS→Unicodeに移行させられたことがあります。SJISでは1文字が2バイトのマルチバイトがUnicodeでは3バイトになるので、30バイトまでしか定義できないテーブル名や列名のエラーが多発して泣きました。