INSERT GETDATE() 但它插入 0000-00-00 的值

INSERT GETDATE() but it insert value of 0000-00-00

我目前正在做一个向数据库中插入数据的代码。一切都很好,除了日期没有像我期望的那样插入。 我想插入当前日期,所以我使用 GETDATE() 函数插入 departDate 列,但数据库显示 0000-00-00 的结果而不是当前日期。 这是我插入数据的方式。

INSERT INTO `route_master` (`route_id`, `busNo`, `noOfSeat`, `origin`, 
`destination`, `departDate`, `departTime`, `arrivalTime`, `price`) VALUES 
('47', 'BUA1245', '40', 'KOTA KINABALU INTERNATIONAL AIRPORT', '1 BORNEO', 
'GETDATE() ', '06:00', '06:55', '15.00')

我也尝试使用 CURRENT_TIMESTAMP,但它仍然显示相同的结果。 谁能帮我解决这个问题?

您应该使用 NOW() 而不是 GETDATE(),并且还要删除 GETDATE() 周围的 ',GETDATE() 是 MySql 中的一个函数。引号被解释为字符串。

INSERT INTO `route_master` (`route_id`, `busNo`, `noOfSeat`, `origin`, 
`destination`, `departDate`, `departTime`, `arrivalTime`, `price`) 
VALUES 
('47', 'BUA1245', '40', 'KOTA KINABALU INTERNATIONAL AIRPORT', '1 
BORNEO', NOW(), '06:00', '06:55', '15.00')

如果您不确定要使用哪个函数,请检查此查询以查看哪个函数为您提供所需的值。

SELECT NOW(),CURDATE(),CURTIME();

它的输出是这样的:

NOW() - CURDATE() - CURTIME()

2017-05-11 11:00:00 - 2017-05-11 - 11:00:00