mysql - MySQL 中的单行表

标签 mysql

我想要一个只能有一条记录的表。我打算将它用于配置目的。尽管我知道这不是 SQL 数据库的用例,而且更适合 KV 存储。但我想将其与现有交易结合使用。换句话说,我想要一个 KV 存储,其中每个键映射到一个具有单行的表。是否可以对 MySQL 或其他 SQL 数据库中的表强制执行单行限制/约束?

最佳答案

您可以使用枚举约束和唯一约束的组合,以确保表中只有一行

CREATE TABLE example_tbl (
    id INT PRIMARY KEY AUTO_INCREMENT,
    title VARCHAR(255) NOT NULL,
    -- this ensures unique_value column only accepts 'some_value'
    unique_value ENUM('some_value') NOT NULL,
    -- this ensures unique_value column is unique
    UNIQUE (unique_value)
 );

sql fiddle

关于mysql - MySQL 中的单行表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49684847/

相关文章:

Mysql workbench 将 SQL 脚本应用于数据库时出错

c# - 如何检测 MySql 查询是否成功并输出消息?

MYSQL 从两个表中更新 SELECT

mysql - 无法在 ssrs 中使用 mysql 存储过程

MySQL 使用 join 对多个表中的行进行计数

mysql - brew 启动旧版本的 mysql 服务,但如何连接到它?

php - 如何在 PHP 中实现基本的 "Most Popular Post"脚本?

mysql - Sql 案例与案例 Order by

mysql - SQL中如何连接两个表?

MySQL : "Appending more data to a column"