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

标签 mysql sql sql-insert getdate

我目前正在编写将数据插入数据库的代码。一切都很好,除了日期没有像我期望的那样插入。 我想插入当前日期,所以我使用 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

关于mysql - INSERT GETDATE() 但它插入 0000-00-00 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43910744/

相关文章:

php - PHP中基于计时器的测验实现

sql - 检查ES和SQL数据库之间的区别

mysql - 将表连接到另一个表后查询表的每一行

mysql - 我如何创建这个 mysql 选择查询?

sql - 相似列出现次数

sql-server - SQL Server 默认值是在插入之前还是之后生成的?

php - MySQL多个MAX语句导致语法错误?

mysql - 在 ZF 中捕获 "INSERT … ON DUPLICATE KEY UPDATE"解决方法的异常

javascript - php json_decode 到数组中

sql - 错误 : operator does not exist with custom domain