-2

我有一个字段appointment_dateappointment_time数据类型分别是datetime。表名是appointmentcurrent_date我们的老师想要的是只有当约会大于或等于or时才能添加约会current_time。我对 , 或任何 DATE 函数的工作方式感到getdate()sysdate()困惑dateadd()。希望你能帮助我。谢谢。

4

2 回答 2

0

如果您对时间/日期函数感到迷茫,网上有很棒的 MySQL 文档,请在此处查看:日期和时间函数

鉴于 MySQL 没有条件 INSERT 语句这一事实,我建议在没有条件检查的情况下进行简单插入之前对要插入的值进行各种检查。

于 2016-04-04T13:33:12.583 回答
0

在 sql 中,您可以使用检查约束来强制执行这样的逻辑,不幸的是,mysql 还没有实现这种类型的约束。这意味着,您要么必须在调用插入语句之前检查应用程序本身的条件,要么必须创建一个存储过程来获得预期的结果。

在这两种解决方案中,逻辑都很简单:使用 if 条件语句检查要插入的值是否大于当前日期或时间(实际上与它进行比较非常重要)。

第三种解决方案是创建一个插入前触发器,并使用信号从其中引发一条 sql 错误消息,以防止插入记录。

于 2016-04-04T13:37:15.423 回答