【发布时间】:2011-11-20 06:14:55
【问题描述】:
我有一堆行需要插入到表中,但这些插入总是分批完成。所以我想检查表中是否存在批处理中的一行,因为那时我知道它们都被插入了。
所以它不是主键检查,但应该没有太大关系。我只想检查单行,所以count(*) 可能不好,所以我猜它类似于exists。
但由于我对 PostgreSQL 还很陌生,所以我宁愿问问知道的人。
我的批次包含具有以下结构的行:
userid | rightid | remaining_count
因此,如果表中包含任何提供 userid 的行,则表示它们都存在于那里。
【问题讨论】:
-
您想查看表中是否有任何行,或者您的批次中是否有任何行?
-
我的批次中的任何行是的。他们都共享相同的字段,请稍作编辑。
-
请澄清您的问题。您要添加一批记录,全部还是全部? count 有什么特别之处吗? (顺便说一句,保留字,作为列名不切实际)
-
好的,我试图稍微简化一下实际情况,但我们越来越接近真正的实施。插入这些行后(还有另一个字段 for_date),我开始减少指定用户的权限,因为他们使用特定权限,一旦权限变为 0,他们就无法再在该日期执行这些操作。这就是真实的故事
-
只需显示(相关部分)表定义,并说明您打算做什么。
标签: sql postgresql