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」ボタンが表示されます。
![](https://wp-kyoto.cdn.rabify.me/wp-content/uploads/2023/12/3edb3bf611c93f81c1dbd1a9b51bc29a-20231229131004.png?&d=1140)
Supabase AIが構文のサジェストを出してくれる
「Debug with Supabase AI」をクリックすると、「このようにSQLを変更しましょう」と説明&クエリのサジェストを出してくれます。
![](https://wp-kyoto.cdn.rabify.me/wp-content/uploads/2023/12/0276339ae1d0e63de7863616a2c9cad0-20231229130934.png?&d=1140)
「Accept addition」をクリックすると、サジェストされたSQLがSQL Editorに追加されます。「そうじゃないかなぁ」と思った場合は、「Discard」を押せばAIによるサジェストが終了します。
![](https://wp-kyoto.cdn.rabify.me/wp-content/uploads/2023/12/8619c5e726860fa2e567348eae8e0d99-20231229130934.png?&d=1140)
ただし元のSQLを置換するわけではなく、「その下に追加」する挙動である点には注意しましょう。追加後にすぐSQLを実行すると、元のSQLが原因のエラーが発生します。
![](https://wp-kyoto.cdn.rabify.me/wp-content/uploads/2023/12/4a55386a5341e7f31f89a379ae1755cd-20231229130934.png?&d=1140)
サジェストされたクエリだけにすることで、意図したクエリが実行できました。
![](https://wp-kyoto.cdn.rabify.me/wp-content/uploads/2023/12/26325b6ef4a202847438628e563ea0bf-20231229130934.png?&d=1140)
AI / LLMによるサポートは、デファクトになるかもしれない
GitHubのCopilotなどもそうですが、ある程度書き方やフォーマットが決まっている範囲については、このようなLLMによる支援がかなり強力に作用しそうです。SQLはまだまだ苦手な領域なので、しばらくはSupabase AIのお世話になりながら試行錯誤を進めていきたいと思います。
![](/images/undraw_happy_feeling.png)
ブックマークや限定記事(予定)など
WP Kyotoサポーター募集中
WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。
14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。