我有一個數據庫,它具有完美的NOW()函數,顯示正確的日期。 並且在意外刪除它之後,我創建了一個類似的數據庫,但是當我插入NOW()插入 當前當前日期時,它會插入爲0000-00-00 00:00:00。在datetime數據類型中插入NOW()值會返回0000-00-00 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');
+---------+------+------------------------------------------------+
| Level | Code | Message |
+---------+------+------------------------------------------------+
| Warning | 1265 | Data truncated for column 'blog_date' at row 1 |
+---------+------+------------------------------------------------+
從'NOW()'中刪除引號,否則你會傳遞*字符串*'「NOW()」'而不是函數。 – 2014-10-06 15:54:53
真的應該在這裏使用UTF-8而不是'latin1'。 – tadman 2014-10-06 15:56:38
一個問題是,「壞事」不是「最佳系列evar」。 MySQL顯然知道這個榮譽屬於「太空堡壘卡拉狄加」。 (笑臉笑容)。 (說真的,你已經把NOW()用單引號括起來,做成了一個字符串文字。刪除單引號,它會起作用。) – spencer7593 2014-10-06 15:59:54