← inaro.devAI駆動開発 学習ツール

CRUD操作

なぜ学ぶか: アプリの機能の大半は「作る・読む・変える・消す」= CRUDの組み合わせでできています。TODOアプリもSNSも、突き詰めればこの4操作。Supabaseでの書き方と、AIが書いたコードで必ず確認したい「errorの握りつぶし」を学びます。

CRUD=Create・Read・Update・Delete

SQLの4命令と対応:insert・select・update・delete。アプリの機能をCRUDに分けて考えると、設計が読めます。

絞り込みはeq

.eq("user_id", userId)は「等しい」の絞り込み(SQLのwhere相当)。

update / deleteは絞り込み必須

.update({...}).eq("id", id) — eqを忘れると全行が対象に。SQLの「where忘れ」と同じ罠があります。

毎回errorが返る

Supabaseはエラーを投げず、オブジェクトで返します。AIはerrorを無視してdataだけ使いがち — 「error見てる?」が定番レビューです。

コード例

// CRUD の基本形(todos テーブルの例)

// Create: 追加
await supabase.from("todos").insert({ title: "牛乳を買う" });

// Read: 読む
const { data: todos, error } = await supabase
  .from("todos")
  .select("id, title, done");

// Update: 1件だけ完了にする(eq での絞り込みを忘れない!)
await supabase.from("todos").update({ done: true }).eq("id", "abc-123");

// Delete: 完了済みをまとめて削除
await supabase.from("todos").delete().eq("done", true);

if (error) console.error("読み込み失敗:", error.message);

どの操作も{ data, error }を返します。AIのコードがerrorを受け取りもせず捨てていたら、「失敗が無言で握りつぶされるコード」— 必ず指摘しましょう。

ステップ 1 / 2

※ カリキュラムの内容はAIが生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。