2017-08-16 101 views
1
CREATE TABLE `appointments` (
`id` int(11) NOT NULL, 
`app_date` date NOT NULL, 
`mobile` varchar(16) NOT NULL, 
`time` time NOT NULL, 
`duration` int(3) NOT NULL, 
`services` varchar(256) NOT NULL, 
`status` varchar(32) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

INSERT INTO `appointments` (`id`, `app_date`, `mobile`, `time`, `duration`, 
`services`, `status`) VALUES 
(11, '2017-09-28', '991694', '11:00:00', 1, 'PP', 'Booked'), 
(12, '2017-09-28', '991694', '12:00:00', 1, 'FT', 'Booked'), 
(13, '2017-09-29', '991694', '10:00:00', 1, 'HC;FT', 'Booked'), 
(14, '2017-09-11', '991694', '11:00:00', 1, 'T;W;HS;PP', 'Booked'); 

DELETE from appointments where 'mobile' = '991694' and 'app_date' = 
'2017-09-28' and 'time' = '11:00:00' 

是不是删除任何行?返回0行受影响。请建议这里出了什么问题。MySQL删除日期和时间比较

此外,我试图与 从预约DELETE其中 '移动'= '991694' 和 'app_date'=日期 '2017年9月28日' 和 '时间'=时间'11:00:00'

+0

请询问的问题在这里 – Rahul

+2

@Rahul究竟是什么不对的职位,除了格式化前仔细阅读适当计算器方针?它显示了一个清晰的例子,用代码来创建表格,其中包含错误和问题,并暗示预期结果应该是什么。这远远超过我们获得的“请写我的代码”帖子的90%。事实上,我能够将这篇文章复制并粘贴到SQL中,并以相同的结果运行它,这使得它比大多数问题好几年。 –

+1

热门建议1:始终将日期和时间存储为一个实体。重要提示2:切勿存储逗号/冒号/分号分隔的数据 – Strawberry

回答

3

删除列名前的报价。您不检查行上的值,您是比较字符串。请注意,在MySQL

' != ` 

这应该工作:

DELETE from appointments where mobile = 991694 and app_date = '2017-09-28' and time = '11:00:00'