如何防止将假期插入到作为日期列的表中

时间:2018-08-20 16:27:52

标签: mysql sql

我有一个数据库,我需要一个会议表,该表的日期为日期类型。我需要防止用户将周末的假期日期插入该表。最好的方法是什么?

这是我的模式:

User
user_id
cellphone
name
role_id

Role
role_id
role_type (Veterinário,Assistent,Client)

Meeting
meeting_id
date (day+ hour) Unique Key //need holiday and weekends prevention here
user_id_Vet
user_id_Client

2 个答案:

答案 0 :(得分:2)

只需在数据库中创建一个假期表,然后在将记录插入到会议表中之前,检查所选日期是否在假期表中。如果选择的日期在假期表中,则使用JavaScript“这是假期”返回消息。否则返回成功。

答案 1 :(得分:0)

周末很简单:

DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table
(dt DATE NOT NULL);

INSERT INTO my_table SELECT '2018-08-19' FROM (SELECT 1) n WHERE WEEKDAY('2018-08-19') <5;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

INSERT INTO my_table SELECT '2018-08-20' FROM (SELECT 1) n WHERE WEEKDAY('2018-08-20') <5;
Query OK, 1 row affected (0.50 sec)
Records: 1  Duplicates: 0  Warnings: 0

SELECT * FROM my_table;
+------------+
| dt         |
+------------+
| 2018-08-20 |
+------------+
1 row in set (0.00 sec)