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が生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。