Ecto数据库操作与关联关系详解
1. 数据的删除操作
在数据库操作中,删除数据是常见的需求。我们可以使用不同的方法来删除数据。
- 批量删除 :使用 Repo.delete_all 可以批量删除符合条件的记录。例如,下面的代码会删除所有标题为“Autum Leaves”的曲目记录:
from(t in "tracks", where: t.title == "Autum Leaves")
|> Repo.delete_all
- 单条删除 :当我们有一个单一的模式结构体,并且想要从数据库中删除其对应的记录时,可以使用
Repo.delete。它一次只能处理一条记录。示例如下:
track = Repo.get_by(Track, title: "The Moontrane")
Repo.delete(track)
#=> {:ok, %MusicDB.Track{__meta__: #Ecto.Schema.Metadata<:deleted, "tracks">,
#=>
id: 28, title: "The Moontrane", ...}
操作成功后,我们会得到 :ok 以及一个表示刚刚删除的记录的结构体。此时,该记录在数据库中已不存在。
超级会员免费看
订阅专栏 解锁全文
441

被折叠的 条评论
为什么被折叠?



