展望http://www.postgresql.org/docs/9.2/static/rules-status.html,我认为如果除了非重叠的条件规则之外,PostgreSQL将返回正确数量的插入行,您创建了无条件的ON INSERT ... DO INSTEAD NOTHING
规则。
如果这是真的那么为什么PostgreSQL文档中没有包含这样一个有用的声明? (我真的不能在文档的任何地方看到它被提及。)
答案 0 :(得分:2)
规则将初始查询扩展为多个查询。 psql或apis报告的受影响的行数是最后一个查询的行数。如果你使用规则,你基本上保证报告的数字迟早会不正确 - 没有ifs或buts,它会回来咬你。
除非您知道自己在做什么,否则也要避免使用规则。关于pg黑客偶尔会讨论弃用它们。