如何将在我的数据库中创建的特定行列入黑名单?

Posted

技术标签:

【中文标题】如何将在我的数据库中创建的特定行列入黑名单?【英文标题】:How can I blacklist specific rows from being created in my database? 【发布时间】:2015-03-29 20:17:57 【问题描述】:

在我的数据库中,我为自己的目的创建了常量行。其中一些行是垃圾,不需要的垃圾邮件,我想将其列入黑名单以防止创建。是否有一条 SQL 语句,如果它具有特定的字段名称,我可以发送它以将创建的行列入黑名单?例如,将完全禁止创建 WHERE column = 1 的任何行,并且只会拒绝创建行。

【问题讨论】:

【参考方案1】:

一种方法是检查约束。其他,是 BEFORE INSERT 触发器

【讨论】:

BEFORE INSERT 触发器具体要输入什么内容?我在我的数据库的 phpMyAdmin 触发器部分,我选择了我的表,idk 在“定义”部分输入什么。我需要执行类似 IF column_name = custom_value THEN DO NOT INSERT ROW 之类的操作。那句话是完全错误的,但它说明了需要发生的事情。 好吧 - 只是提出一个错误 ;) 老实说 - 我不知道如何在 mysql 中进行操作。在 PostgreSQL 中,您只需执行 RAISE [EXCEPTION] 'your exception text' 即可。我认为你需要使用SIGNAL 关键字(dev.mysql.com/doc/refman/5.5/en/signal.html),但它不像 Postgres 那样“开箱即用”。 SO上有一些关于这个的主题(比如这个:***.com/questions/4862911/…),所以你会弄明白的。为什么不使用检查约束?它更容易 - 特别是对于简单的子句......

以上是关于如何将在我的数据库中创建的特定行列入黑名单?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Simple JWT(django rest)将 JWT 令牌列入黑名单?

将 IPv6 列入白名单

GCP 上的 Terraform:如何将我的集群节点列入 RDS 白名单

如何在负载均衡器 Laravel 后面的 nginx 中将远程 IP 地址列入白名单

如何将 AWS Beanstalk IP 列入白名单

用于检查列入黑名单的IP地址的API? [关闭]