我使用此SQLite库,并希望删除表中包含相同电子邮件地址的每一行。假设有100位用户注册了以下电子邮件:test@test.com,我想删除所有用户。根据文档,我们可以执行以下操作:
let alice = users.filter(id == 1)
try db.run(alice.delete())
// DELETE FROM "users" WHERE ("id" = 1)
但是每个用户的ID都不相同。因此可以执行以下操作:// DELETE FROM "users" WHERE ("email" = test@test.com)
。
表中的电子邮件列是一个字符串。像这样:let email = Expression<String>("email")
编辑:
我尝试了此操作,但是不知何故,它删除了我的所有行,不仅删除了包含电子邮件地址的行:
let alice = users.select(self.email == emails[indexPath.row])
let deleteUser = user.delete()
do {
try self.database.run(deleteUser)
} catch {
print(error)
}
答案 0 :(得分:0)
尝试一下:
let alice = users.filter([emails[indexPath.row]].contains(self.email))
let deleteUser = user.delete()
do {
try self.database.run(deleteUser)
} catch {
print(error)
}