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」値が指定されていない場合に、INSERT 時にデータがテーブルに保存される方法です。

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 に答える