Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果MySQL中的日期是X,如何避免插入数据?_Mysql_Sql - Fatal编程技术网

如果MySQL中的日期是X,如何避免插入数据?

如果MySQL中的日期是X,如何避免插入数据?,mysql,sql,Mysql,Sql,我想知道如果一天是星期天,如何避免插入值。这可能吗 我有这张桌子: Medical_Appointment ( ID INT AUTO_INCREMENT NOT NULL, Appointment_Day DATE NOT NULL, Start_Time TIME NOT NULL, Patient_ID INT NOT NULL, Service_ID INT

我想知道如果一天是星期天,如何避免插入值。这可能吗

我有这张桌子:

 Medical_Appointment
    (
            ID INT AUTO_INCREMENT NOT NULL,
            Appointment_Day DATE NOT NULL,
            Start_Time TIME NOT NULL,
            Patient_ID INT NOT NULL,
            Service_ID INT NOT NULL,
            PRIMARY KEY(ID)
    )
ENGINE = INNODB;

例如:

INSERT INTO Medical_Appointment VALUES(NULL, 2017-26-03, 10:00, 1, 2)
要获取day of date值,我有下一个查询:

  SELECT DAYNAME(Appointment_Day) AS `Day`
  FROM Medical_Appointment 
  WHERE ID = 2;
有人能帮我吗?

试试看-

INSERT INTO Medical_Appointment
SELECT NULL,
       2017-26-03,
       10:00,
       1,
       2
FROM tblService
WHERE DAYNAME( 2017-26-03 ) <> "Sunday"
LIMIT 1;
插入医疗预约
选择NULL,
2017-26-03,
10:00,
1.
2.
来自tblService
其中DAYNAME(2017-26-03)“星期日”
限值1;
注意:您不需要将tblService与FROM一起使用,但需要将FROM与至少包含一条记录的表一起使用


注意:如果您不使用LIMIT 1,MySQL将尝试插入您的值,次数与tblService中记录的次数相同。

您可以尝试使用触发器。为了澄清,您是否希望根据约会日是否为星期日向服务中插入详细信息?
INSERT INTO Medical_Appointment
SELECT NULL,
       2017-26-03,
       10:00,
       1,
       2
FROM tblService
WHERE DAYNAME( 2017-26-03 ) <> "Sunday"
LIMIT 1;