私はSequel Proアプリを使用してdbを操作しています。'created'のデフォルト値が無効ですが、DATETIMEにCURRENT_TIMESTAMPを使用しています
Mysql 5.7を使用しています。
私は以下のテーブル構造を持っています。私は「を作成」テーブルの列の順序を変更しようとすると、I 『を作成』のmysqlの「無効なデフォルト値からエラーを取得します。
再注文をしようとしたとき、私はmaterials
テーブルに行がありません。
すべてから私はCURRENT_TIMESTAMPが正しいデフォルト値であり、読んだ。
CREATE TABLE `materials` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modified` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
私の目標は、行が追加されたときcreated
列が自動的に満たされることです。変更されたときmodified
が自動的に現在の時刻に更新します。
私には何が欠けていますか?
ここにあなたの質問に関連する投稿があります。 [http://stackoverflow.com/questions/4897002/mysql-current-timestamp-on-create-and-on-update](http://stackoverflow.com/questions/4897002/mysql-current-timestamp-on-作成中) – Srini
@Sriniあなたがリンクした投稿は私の問題には答えません。実際、今年2月のようなコメントでは、それは有効であるはずです。 http://stackoverflow.com/a/35426865/68788 – Geuis