当MySQL遇到超期日期时会发生什么?

MySQL遇到超出范围或无效的日期的响应将取决于SQL MODE。如果我们启用了ALLOW_INVALID_DATES模式,那么MySQL会将超出范围的值转换为全零(即'0000:00:00 00:00:00'),并将其存储在表中而不会产生任何错误或警告。

例如,我们可以如下更改SQL MODE,然后插入超出范围的-

mysql> set sql_mode = 'ALLOW_INVALID_DATES';

mysql> Insert into order1234(productname, quantity, orderdate) values('A', 500, '999-05-100');

mysql> Select * from order1234;

+-------------+----------+---------------+

| ProductName | Quantity | OrderDate     |

+-------------+----------+---------------+

| A           | 500      | 0000-00-00    |

+-------------+----------+---------------+

1 row in set (0.00 sec)

我们可以看到MySQL将超出范围的值全部转换为零。

以上是 当MySQL遇到超期日期时会发生什么? 的全部内容, 来源链接: utcz.com/z/331186.html

回到顶部