0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Colab上で%%sqlが実行できなくなったときの対処法

Posted at

目的

Colab上でSQLのマジックコマンドを使う機会があるのですが、エラーが出て急に使えなくなりました。

実行したコード

# SQL接続
%load_ext sql
%sql sqlite:///:memory:

# テーブル作成
%%sql
DROP TABLE IF EXISTS sample_db;
CREATE TABLE sample_db(product_id TEXT UNIQUE, product_name TEXT, price INT);
INSERT INTO sample_db VALUES('001','商品1',1000), ('002','商品2',1200), ('003','商品3',2900);
%%sql
SELECT * FROM sample_db

エラーメッセージ

<decorator-gen-157> in execute(self, line, cell, local_ns)

<decorator-gen-156> in execute(self, line, cell, local_ns)

/usr/local/lib/python3.10/dist-packages/sql/run.py in __init__(self, sqlaproxy, config)
    114                 list.__init__(self, sqlaproxy.fetchall())
    115             self.field_names = unduplicate_field_names(self.keys)
--> 116             self.pretty = PrettyTable(self.field_names, style=prettytable.__dict__[config.style.upper()])
    117         else:
    118             list.__init__(self, [])

KeyError: 'DEFAULT'

対処方法

以前は、基本何もオプションをつけずに実行して問題なかったので、焦ったのですがエラーメッセージで出ている「DEFAULT」が悪さしているようで色々と調べたら、

  • 「SqlMagic.style」が無指定だと「DEFAULT」にある
  • その「DEFAULT」が上手くいっていない

ということだったようです。

そこで、「SqlMagic.style」を「_DEPRECATED_DEFAULT」にすると、上手く動きました。

%config SqlMagic.style = '_DEPRECATED_DEFAULT'
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?