mysql 如何对序列化表的行数进行限制?

atmip9wb  于 2022-10-31  发布在  Mysql
关注(0)|答案(3)|浏览(107)

我想对Sequelize表声明应用限制。这实际上会通过禁止向表中添加更多行来将表的行总数限制为1。我如何在表模型定义中实现这一点?

h6my8fg2

h6my8fg21#

我认为使用可能只有一行数据库表不是一个好主意。
但技术上的解决方案可能是使用默认主键(例如id: 1)。这个主键不是自动递增的,而是一个静态的默认值,比如整数1。因此,除了第一行之外,您不能添加任何其他行。因为主键是唯一的,它的值总是等于1。所以你只能更新或读取它的值,如果这就是你试图实现的原因。
但是,这听起来像是一件反SQL的事情。

b09cbbtk

b09cbbtk2#

您可以在sequelize中使用'limit'选项:

findAll({
    limit: 2,
    where: { YOUR QUERY }
)}
3xiyfsfu

3xiyfsfu3#

如果要限制记录,为什么不在控制器/服务/业务逻辑部分这样做呢?
在创建记录之前,您可以findAllcount当前用户拥有的记录/行,并应用您的规则
甚至,你可以添加一个beforeCreate挂钩,如果适用...

相关问题