Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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检查其他时间之间的时间_Mysql_Sql - Fatal编程技术网

mysql检查其他时间之间的时间

mysql检查其他时间之间的时间,mysql,sql,Mysql,Sql,我在做一个调度程序的工作。其中一个功能是将电视节目插入调度程序。在服务器端,通过发送带有请求的开始时间的程序id,即“在2012年9月17日10:49将程序id 123插入日程”。但节目必须在晚上10点至12点插入街区,即文化节目。因此,在插入之前,我们需要使用这段sql检查块是否存在 SELECT t1.schedblockid, t1.blockname, t1.blockstart, t1.blockend, t2.scheduledate FROM scheduleblocks t1

我在做一个调度程序的工作。其中一个功能是将电视节目插入调度程序。在服务器端,通过发送带有请求的开始时间的程序id,即“在2012年9月17日10:49将程序id 123插入日程”。但节目必须在晚上10点至12点插入街区,即文化节目。因此,在插入之前,我们需要使用这段sql检查块是否存在

SELECT t1.schedblockid, t1.blockname,
  t1.blockstart, t1.blockend, t2.scheduledate
FROM scheduleblocks t1, schedule t2
WHERE t1.schedblockid = t2.scheduleblock 
  AND t2.scheduledate = '$_GET[scheddate]'
AND '$_GET[schedtime]' >= blockstart 
AND '$_GET[schedtime]' <= blockend

这些表只是使用varchar而不是内置的日期时间类型,我想这就是我们需要更改的,但不确定如何/在哪里更改?非常感谢您的帮助。

将表格结构更改为:

CREATE TABLE IF NOT EXISTS `schedule` (
  `scheduleid` int(11) NOT NULL AUTO_INCREMENT,
  `scheduledate` DATE NOT NULL,
  `scheduleblock` TIME NOT NULL,
  PRIMARY KEY (`scheduleid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=43 ;


CREATE TABLE IF NOT EXISTS `scheduleblocks` (
  `schedblockid` int(11) NOT NULL AUTO_INCREMENT,
  `blockname` varchar(100) NOT NULL,
  `blockstart` TIME NOT NULL,
  `blockend` TIME NOT NULL,
  `linked` int(11) NOT NULL,
  PRIMARY KEY (`schedblockid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=44 ;
如果您不是从头开始,则需要
更改您的表:

ALTER TABLE schedule CHANGE COLUMN `scheduledate` `scheduledate` DATE NOT NULL;
ALTER TABLE schedule CHANGE COLUMN `scheduleblock` `scheduleblock` TIME NOT NULL;
ALTER TABLE scheduleblocks CHANGE COLUMN `blockstart` `blockstart` TIME NOT NULL;
ALTER TABLE scheduleblocks CHANGE COLUMN `blockend` `blockend` TIME NOT NULL;
ALTER TABLE schedule CHANGE COLUMN `scheduledate` `scheduledate` DATE NOT NULL;
ALTER TABLE schedule CHANGE COLUMN `scheduleblock` `scheduleblock` TIME NOT NULL;
ALTER TABLE scheduleblocks CHANGE COLUMN `blockstart` `blockstart` TIME NOT NULL;
ALTER TABLE scheduleblocks CHANGE COLUMN `blockend` `blockend` TIME NOT NULL;