mysql - 是否有一种机制可以禁用插入表?

标签 mysql

我有一个表,它的存在纯粹是为了充当某些逻辑的数组。

该表应该只有一行,否则我的逻辑将失败。 是否有任何 DDL 命令可以禁用插入表?

到目前为止 - 我已经插入了逻辑所需的“一行”数据,现在计划创建一个插入后触发器来删除新输入的记录。 B)

但是我注意到有一些 ALTER TABLE 命令可以禁用/启用键,所以我想知道是否有触发代码的替代方案。

mysql> select version();
5.6.25-enterprise-commercial-advanced-log

最佳答案

这通常不是我们应该如何使用关系的方式,但它可以通过一列来完成,该列可能只采用一个值,但上面还有一个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`)
);

…如果您不介意存在一个您永远不会使用的附加列。

关于mysql - 是否有一种机制可以禁用插入表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32117013/

相关文章:

mysql - 如何优化跨三个表、40k 行且仅返回 22 个结果的慢速 "select distinct"查询

php - 一行与多列 mySQL 表中所有行的点积

PHP & MySQL - preg_match 和查询

PHP mySQL 搜索不工作

Mysql - 插入只有一个自动递增列的表

mysql - 参数 2 中的 JSON 文本无效 - 使用 Spring JPA 的 json_contains

mysql - 设置 MySQL master - master 复制

php - Mysqli UPDATE SET WHERE语法错误

python - 如何使用 mysql.connector 禁用查询缓存

mysql - NodeJS + MySQL Web 应用程序中的 ECONNREFUSED 错误