1

下面是用于创建我的表的 CREATE TABLE 语句:

CREATE TABLE IF NOT EXISTS `data_received` (
  `id` int(10) unsigned NOT NULL,
  `date_received` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `edit_time` datetime NOT NULL
}

如果未提供“edit_time”值,以下是插入时如何将数据保存在表中:

id   date_received         edit_time
1    2012-10-12 12:15:46   0000-00-00 00:00:00

此外,我收到此警告消息:Warning: #1264 Out of range value for column 'edit_time' at row 1

  • 所以,我的问题是,忽略这个警告信息有什么影响吗?
  • 我预计每分钟插入 10 到 15 行。那么,会不会有性能下降呢?
  • 我能做些什么来阻止此警告消息的发生吗?
4

1 回答 1

0

当 MySQL 在数值列中存储超出列数据类型允许范围的值时,结果取决于当时有效的 SQL 模式:如果启用了严格 SQL 模式,MySQL 将拒绝超出范围的值有错误,插入失败,根据 SQL 标准。如果没有启用限制模式,MySQL 将值剪辑到范围的适当端点并存储结果值。

于 2012-10-17T04:53:33.390 回答