我创建了一张桌子master-domain.该表应该只有3条记录.如何限制mysql数据库只允许超过该数量的记录?是否有特定的sql命令来执行此操作?
这是我目前的SQL:
CREATE TABLE `mydatabase`.`master-domain`
(
`domain` VARCHAR( 50 ) NOT NULL COMMENT 'Domain Name',
PRIMARY KEY ( `domain` )
)
Run Code Online (Sandbox Code Playgroud)
PS.我有godaddy,它包括phpMyAdmin,以及MySQL数据库.
您可以使表的主键成为类型的字段ENUM.例如:
CREATE TABLE test (
id enum('1','2') NOT NULL,
domain varchar(50) NOT NULL,
primary key (id));
Run Code Online (Sandbox Code Playgroud)
更新它时,您必须将ID明确设置为"","1"或"2".*它不能为空,每个ID只能有一条记录.域仍然存储在domain字段中,因此无论外部系统查询此数据库,都希望获得所需的结果不会有任何问题.
如果要复制当前限制域名必须是唯一的限制,您还可以添加unique key (domain).
*请注意,允许使用空字符串(并且与NULL不同),因为枚举实际上是一种字符串.因此,您要指定两个允许的ID值,以便总共有三个.
或者:你想在这里实现/阻止什么?是否有一些自动化流程可能会向表中添加记录?您是在尝试确保不会意外地执行此操作,还是劫持您帐户的人无法执行此操作?
如果可能在您的用户上运行可能插入记录的进程,则可以将三条记录放入表中,然后从您自己中删除INSERT权限.您仍然可以更改现有记录,但除非您明确重新授予该功能,否则您将无法再添加.