MySQL 在遇到超出范圍或無(wú)效日期時(shí)的響應(yīng)將取決于 SQL MODE。如果我們啟用了 ALLOW_INVALID_DATES 模式,那么 MySQL 會(huì)將超出范圍的值轉(zhuǎn)換為全零(即“0000:00:00 00:00:00”)并將其存儲(chǔ)在表中,而不會(huì)產(chǎn)生任何錯(cuò)誤或警告。 p>
例如,我們可以按如下方式更改 SQL MODE,然后插入超出范圍的內(nèi)容 –
mysql> set sql_mode = 'ALLOW_INVALID_DATES'; Query OK, 0 rows affected (0.00 sec) mysql> Insert into order1234(productname, quantity, orderdate) values('A', 500, '999-05-100'); Query OK, 1 row affected, 1 warning (0.13 sec) mysql> Select * from order1234; +-------------+----------+---------------+ | ProductName | Quantity | OrderDate | +-------------+----------+---------------+ | A | 500 | 0000-00-00 | +-------------+----------+---------------+ 1 row in set (0.00 sec)
登錄后復(fù)制
我們可以看到MySQL將超出范圍的值轉(zhuǎn)換為全零。
以上就是當(dāng) MySQL 遇到超出范圍的日期時(shí)會(huì)發(fā)生什么?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!