在mysql 5.5.46
中有表和5.6.28
中的同一表。我在mysql 5.5.46
上備份數據庫,然後在5.6.28
上恢復它。所以表在兩臺服務器上都有相同的結構和相同的數據。日期時間類型在mysql 5.5.46和5.6.28中的區別
CREATE TABLE `test` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Path` varchar(250) NOT NULL,
`Link` varchar(250) NOT NULL,
`Company` varchar(250) NOT NULL,
`Width` int(11) NOT NULL,
`Height` int(11) NOT NULL,
`View_Count` int(11) NOT NULL DEFAULT '0',
`create_date` datetime NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8
有無這樣的查詢:
insert into test(path,link,company,width,height,view_count)
values('test','test','test',10,10,10)
在mysql 5.5.46
此查詢成功執行和CREATE_DATE值是'0000-00-00 00:00:00'
在mysql 5.6.28
有一個錯誤Field 'Create_Date' doesn't have a default value
和它的邏輯,因爲CREATE_DATE不爲空,因此沒有任何默認值。但它如何在5.5.46
上工作?
謝謝你的回答。 'SET @@ global.sql_mode ='';'幫助了我 – GeoVIP