Mysql 是否有一种机制来禁用insert into table?
我有一个表,它的存在纯粹是为了作为某种逻辑的数组 这个表应该只有一行,否则我的逻辑就失败了。 是否有任何DDL命令来禁用insert into table 现在-我已经插入了逻辑所需的“一行”数据,现在,计划创建一个插入后触发器来删除新输入的记录。(B) 然而,我注意到有一些ALTERTABLE命令用于禁用/启用键,所以我想知道是否有一种替代触发器代码的方法Mysql 是否有一种机制来禁用insert into table?,mysql,Mysql,我有一个表,它的存在纯粹是为了作为某种逻辑的数组 这个表应该只有一行,否则我的逻辑就失败了。 是否有任何DDL命令来禁用insert into table 现在-我已经插入了逻辑所需的“一行”数据,现在,计划创建一个插入后触发器来删除新输入的记录。(B) 然而,我注意到有一些ALTERTABLE命令用于禁用/启用键,所以我想知道是否有一种替代触发器代码的方法 mysql> select version(); 5.6.25-enterprise-commercial-advanced-log
mysql> select version();
5.6.25-enterprise-commercial-advanced-log
这通常不是我们应该如何使用关系,但可以使用一个列来完成,该列可能只具有一个值,但其上也有一个
唯一键
:
CREATE TABLE `MyTable` (
`ActualData1` INT NOT NULL DEFAULT 0,
`ActualData2` INT NOT NULL DEFAULT 0,
`ActualData3` INT NOT NULL DEFAULT 0,
`Dummy` ENUM("!") NOT NULL DEFAULT "!",
UNIQUE KEY `OnlyOneRowAllowed` (`Dummy`)
);
…如果您不介意存在一个额外的列,否则您将永远不会使用。当然,不要将此表上的
INSERT
权限授予普通用户。它可以使用INSERT-INTO-MyTable(ActualData1,Dummy)值(0,0)插入。
我知道了,我错过了您使用的default”
用于虚拟
字段。我的错。