在datetime数据类型中插入NOW()值的方法是00:00:00

时间:2014-10-06 15:51:31

标签: mysql datetime

我有一个具有完美工作NOW()功能的数据库,显示正确的日期。 并且在意外删除它之后,我创建了一个类似的数据库,但是当我插入NOW()时插入 当前的当前日期,它将插入到00:00:00。

显示的警告是数据在'blog_date'被截断。现在我不知道如何解决使用NOW()获取当前时间的问题。下面是我的blog_details表,insert命令和错误:

CREATE TABLE `blog_details` ( `blog_id` int(11) NOT NULL AUTO_INCREMENT, 
`title` char(200)  NOT NULL,  `blog_content` varchar(2500)  NOTNULL, 
`blog_date` datetime  NOT NULL,  `cat_name` varchar(30)  NULL, 
PRIMARY KEY (`blog_id`)) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

INSERT INTO `blog_details` (`title`, `blog_content`, `blog_date`, `cat_name`)
VALUES('Breaking Bad TV Series', 'Best series evar', 'NOW()', 'Uncategorized');
  

+ --------- + ------ + ----------------------------- ------------------- +
  |等级|代码|留言|
  + --------- + ------ + -------------------------------- ---------------- +
  |警告| 1265 |第1行的“blog_date”列截断数据|
  + --------- + ------ + -------------------------------- ---------------- +

3 个答案:

答案 0 :(得分:4)

您要插入的是字符串"NOW()",它与函数调用NOW()完全不同。

由于"NOW()"不是有效日期,因此为零。

从中删除引号可以解决问题。

答案 1 :(得分:0)

你不应该引用NOW()函数,所以试试没有' '看看是否有帮助。

INSERT INTO blog_details(title, blog_content, blog_date, cat_name)
VALUES('Breaking Bad TV Series', 'Best series evar', NOW(), 'Uncategorized');

答案 2 :(得分:0)

NOW()函数附近有引号。将其更改为:

INSERT INTO `blog_details` (`title`, `blog_content`, `blog_date`, `cat_name`)
VALUES('Breaking Bad TV Series', 'Best series evar', NOW(), 'Uncategorized');