Supabase AIを使って、SQLの構文エラーを修正する
SupabaseのダッシュボードのSQL Editorでは、構文エラーのSQLを実行するとSupabase AIボタンが表示されます。クリックすると、AIがサジェストと説明を提供してくれます。追加したい場合は「Accept addition」を押し、元のSQLを置換したくない場合は「Discard」を押します。AIのサポートは非常に強力で、SQLの試行錯誤をサポートしてくれます。Supabase AIは、SQLの学習に役立つでしょう。
目次
SupabaseのダッシュボードにあるSQL EditorでSQLをいろいろと試していたところ、気になる機能を見つけたのでまとめてみました。
構文エラーのあるSQLを実行すると、Supabase AIボタンが出てくる
試していたSQLがこちら。テキストを’
ではなく”
で括っています。
select *
from books
where title like "%失格%"
そのため意図しない挙動につながり、エラーが発生しました。
ERROR: 42703: column "%失格%" does not exist
LINE 3: where title like "%失格%"
ここでエラーメッセージを表示している画面の右側に「Debug with Supabase AI」ボタンが表示されます。
Supabase AIが構文のサジェストを出してくれる
「Debug with Supabase AI」をクリックすると、「このようにSQLを変更しましょう」と説明&クエリのサジェストを出してくれます。
「Accept addition」をクリックすると、サジェストされたSQLがSQL Editorに追加されます。「そうじゃないかなぁ」と思った場合は、「Discard」を押せばAIによるサジェストが終了します。
ただし元のSQLを置換するわけではなく、「その下に追加」する挙動である点には注意しましょう。追加後にすぐSQLを実行すると、元のSQLが原因のエラーが発生します。
サジェストされたクエリだけにすることで、意図したクエリが実行できました。
AI / LLMによるサポートは、デファクトになるかもしれない
GitHubのCopilotなどもそうですが、ある程度書き方やフォーマットが決まっている範囲については、このようなLLMによる支援がかなり強力に作用しそうです。SQLはまだまだ苦手な領域なので、しばらくはSupabase AIのお世話になりながら試行錯誤を進めていきたいと思います。