是否可以防止删除PostgreSQL端表中的第一行?
我有一个类别表,我想防止删除默认类别,因为它可能会破坏应用程序。当然,我可以轻松地在应用程序代码中执行此操作,但是在数据库中执行此操作会更好。
我认为这与delete语句的规则有关,但是我找不到文档中与我的问题遥遥相望的任何东西。
我看到的最好的方法是在此表上创建一个删除触发器。基本上,您必须编写一个存储过程来确保该“默认”类别将始终存在,然后使用此表上的Trigger ON
DELETE事件来强制实施该类别。做到这一点的一个好方法是创建一个每行触发器,该触发器将确保在DELETE事件中永远不会删除“默认”类别行。
请查看有关触发器和存储过程的PostgreSQL文档:
http://www.postgresql.org/docs/8.3/interactive/trigger-
definition.html
http://www.postgresql.org/docs/8.3/interactive/plpgsql.html
此Wiki中还有一些有价值的示例:
http://wiki.postgresql.org/wiki/A_Brief_Real-
world_Trigger_Example
我有一个模范国家,因此有一个表国家。countries表作为iso国家和货币代码的集合,不应该减少这些内容(在我用种子数据填充之后)。因为Country是ActiveRecord::Base的一个子类,所以它继承了诸如destroy、delete_all等类方法来删除记录。我正在寻找一种解决方案,以防止在模型级别删除记录。 Ofc。我知道我可以使用面向对象的方法来解决这个问题,方法是重写这个方法(
我想要一个数组列表,并限制元素删除。我该怎么做?
我正在为我的Data Structures类编写一个项目,该项目要求我编写一个类来实现INT的链接列表。 为节点使用内部类 包括以下方法 编写一个测试程序,使您能够以任意顺序使用所需的任何数据测试所有方法 我必须创建一个名为“public int deleteFromFront()”的方法。此方法旨在“删除列表前面的节点,并返回其中的int,如果列表为空,则返回null。”下面是我的代码。然而,当
问题内容: 我一直在网上搜索,但没有找到任何好的解决方案。 这是我的文本文件: 我要删除的是第一行(这意味着将第二行用作第一行,而不用空格填充第一行)。 有人可以帮我吗? 问题答案: 假设您有足够的内存来将所有内容保存在内存中: 我们可能会更喜欢,打开文件,阅读,然后找回开始,消除第二个,但这确实足够了。
问题内容: 我有表,我想将它做成。我该怎么办? 问题答案: Python清单 list.pop(索引) 删除列表[索引] 这些都将修改您的原始列表。 其他人建议使用切片: 复制清单 可以返回一个子集 另外,如果要执行许多pop(0),则应查看collections.deque 从列表的左端提供更高的性能
我有一个用于用户配置文件图像的模型,当我删除具有默认图像的用户时,默认图像也会被删除。我相信这是必须的,因为我设置了on_delete=models.CASCADE。 我尝试在ImageField中启用_delete=PROTECT,但它无法识别该属性。