MySQL 在遇到超出範圍或無效日期時的回應將取決於 SQL MODE。如果我們啟用了ALLOW_INVALID_DATES 模式,那麼MySQL 會將超出範圍的值轉換為全零(即「0000:00:00 00:00:00」)並將其儲存在表中,而不會產生任何錯誤或警告。 p>
例如,我們可以如下變更 SQL MODE,然後插入超出範圍的內容 -
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)
我們可以看到MySQL將超出範圍的值轉換為全零。
以上是當 MySQL 遇到超出範圍的日期時會發生什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!