gpt4 book ai didi

mysql - 限制一个表可以有的记录数

转载 作者:可可西里 更新时间:2023-11-01 07:57:07 24 4
gpt4 key购买 nike

我创建了一个表,master-domain。该表应该只有 3 条记录。如何限制 mysql 数据库只允许不超过该数量的记录?是否有特定的 sql 命令来完成此操作?

这是我当前的 SQL:

CREATE TABLE `mydatabase`.`master-domain`
(
`domain` VARCHAR( 50 ) NOT NULL COMMENT 'Domain Name',
PRIMARY KEY ( `domain` )
)

附言。我有 godaddy,它包括 phpMyAdmin,以及 MySQL 数据库。

最佳答案

您可以将表的主键设为 ENUM 类型的字段。例如:

CREATE TABLE test (
id enum('1','2') NOT NULL,
domain varchar(50) NOT NULL,
primary key (id));

当您更新它时,您必须明确地将 ID 设置为“”、“1”或“2”。*它不能为 null,并且每个 ID 只能有一个记录。域仍然存储在 domain 字段中,因此希望任何外部系统查询此数据库都不会在获得所需结果时遇到任何问题。

如果您想复制当前域名必须唯一的限制,您还可以添加unique key (domain)

* 请注意,空字符串是允许的(与 NULL 不同),因为枚举实际上是一种字符串类型。因此,您需要指定两个允许的 ID 值,以便总共有三个。


或者:你想在这里实现/阻止什么?是否有一些自动化过程可以将记录添加到表中?您是要确保您不会不小心这样做,还是要确保劫持您帐户的人无法这样做?

如果可能插入记录的进程正在您的用户上运行,您可以将您的三个记录放入表中,然后取消您自己的 INSERT 权限。您仍然可以更改现有记录,但您将无法添加更多记录,除非您明确重新授予该能力。

关于mysql - 限制一个表可以有的记录数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9623581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com