<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Crud on BenzHub</title><link>https://benzhub.github.io/tags/crud/</link><description>Recent content in Crud on BenzHub</description><generator>Hugo</generator><language>zh-TW</language><lastBuildDate>Tue, 06 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://benzhub.github.io/tags/crud/index.xml" rel="self" type="application/rss+xml"/><item><title>supabase-js CRUD 查詢與寫入 | Supabase 完整教學</title><link>https://benzhub.github.io/post/supabase/017-crud-operations/</link><pubDate>Tue, 06 Oct 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/supabase/017-crud-operations/</guid><description>&lt;blockquote&gt;
&lt;p&gt;上一篇我們認識了 &lt;strong&gt;supabase-js&lt;/strong&gt; 這個統一 &lt;strong&gt;client&lt;/strong&gt;，也知道 &lt;code&gt;supabase.from()&lt;/code&gt; 是資料庫子模組的入口。這一篇就把最常用的一塊——&lt;strong&gt;CRUD&lt;/strong&gt;（Create、Read、Update、Delete）——徹底玩熟。你會學到用 &lt;code&gt;insert&lt;/code&gt; 新增（單筆與多筆批次）、&lt;code&gt;select&lt;/code&gt; 查詢、&lt;code&gt;update&lt;/code&gt; 搭配 &lt;strong&gt;filter&lt;/strong&gt; 修改、&lt;code&gt;upsert&lt;/code&gt; 靠 &lt;code&gt;onConflict&lt;/code&gt; 做「有就更新、沒有就新增」、&lt;code&gt;delete&lt;/code&gt; 刪除，並且看懂貫穿全部操作的 &lt;code&gt;{ data, error }&lt;/code&gt; 錯誤處理模式、為什麼 &lt;strong&gt;v2&lt;/strong&gt; 寫入預設不回傳資料、以及 &lt;code&gt;.single()&lt;/code&gt; 與 &lt;code&gt;.maybeSingle()&lt;/code&gt; 的差別。&lt;/p&gt;
&lt;/blockquote&gt;</description></item></channel></rss>