ios - mysql中Invalid default value for 'created_at'问题
大家讲道理
大家讲道理 2017-04-17 14:20:57
0
4
732

环境

mac + mysql

问题

在创建表的时候遇到了Invalid default value for 'created_at'的错误,不知道什么原因造成的。

CREATE TABLE `test` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '1970-01-01 00:00:00',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

默认数据使用“0000-00-00 00:00:00”报错,使用“1970-01-01 00:00:00”也同样报错。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(4)
迷茫

まず最初に、多大な努力の末、ついに解決策を見つけました。

まず次のコマンドを使用して sql_mode を確認します

リーリー

クエリ結果が次の場合:

リーリー

結果に NO_ZERO_IN_DATE、NO_ZERO_DATE
が含まれる場合は、次のコマンドを実行します:

リーリー
いいねを押す +0
迷茫

リーリー

いいねを押す +0
洪涛

タイムスタンプは数値です

1970-00-00 これは日付形式です

さまざまなタイプ

いいねを押す +0
伊谢尔伦

文字タイプのタイムスタンプには範囲があります。0000-00-00 00:00:00 を使用する場合は、文字列のみを使用できます。

私のこのブログを参照してください: http://www.cnblogs.com/chenmh/p/4565986....

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート