我有一个表纯粹用作某个逻辑的数组。
该表应该只有一行,否则我的逻辑会失败。 是否有任何DDL命令禁用插入表?
截至目前 - 我已经插入了我的逻辑所需的“一行”数据,现在,计划创建一个后插入触发器来删除新输入的记录。 B)
但是我注意到有一些ALTER TABLE命令来禁用/启用键,所以我想知道是否有替代触发器代码。
mysql> select version();
5.6.25-enterprise-commercial-advanced-log
答案 0 :(得分:3)
这通常不是我们应该如何使用关系,但可以使用一个只能使用一个值的列来完成,但也可以使用UNIQUE KEY
:
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`)
);
...如果你不介意有一个额外的列存在,你将永远不会使用。
答案 1 :(得分:2)
当然,不要将此表的INSERT
权限授予普通用户。