mysql - 限制MySQL中包含相同值的行数

标签 mysql sql constraints rows

我有一张看起来有点像这样的 table

CREATE TABLE shift (
    shift_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
    week_id INTEGER NOT NULL,
    start_time DATETIME
);

现在我想限制可以具有相同开始时间的行数。例如,我希望对于任何给定的 start_time,最多可以插入两行。是否可以通过某种约束来做到这一点?如果没有,我该如何完成?

最佳答案

我会为此使用触发函数。每次插入值时触发该触发器,当记录数超过限制时,忽略插入或抛出异常(但我认为 MySQL 无法做到这一点)。

有关此主题的更多信息:MySQL Triggers

关于mysql - 限制MySQL中包含相同值的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8482166/

相关文章:

MySql存储过程创建错误

sql - SQL 的 DELETE 语句真的删除数据吗?

mysql - 是否在对 mysql 表中的列建立索引之前插入索引的值

mysql - Mysql中的两列在column1和column2之间具有唯一性约束

ios - 约束不尊重大小类

java - 从公共(public)静态上下文访问私有(private)静态方法

用于在查询中进行多次替换的 mysql 存储函数

Mysql结果减半

php - 在 CodeIgniter 上如何进行最简单的身份验证/授权

c# - 关于 global.asax 和那里的事件