参照: アプリケーションまたはデータベースのタイムスタンプ列を更新しますか?
Workbenchで似たようなものをモデル化しようとしていますが、「ON UPDATE」部分を設定する場所がわかりません。私が得ることができる最高のものは次のとおりです:
-- -----------------------------------------------------
-- Table `foo`.`test`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `foo`.`test` ;
CREATE TABLE IF NOT EXISTS `foo`.`test` (
`test_id` INT NOT NULL ,
`date_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`date_updated` TIMESTAMP NOT NULL DEFAULT 0 ,
PRIMARY KEY (`test_id`) )
ENGINE = InnoDB;
このON UPDATEパーツをセットアップするために、Workbenchのどこに行くのですか?
また、データベースに保存されているすべてのタイムスタンプはUTCでなければならないというルールがあります。 CURRENT_TIMESTAMP、NOWなどをUTCにするにはどうすればよいですか?
MySQL Workbench 5.2.35を使用しています。テーブルの作成/変更パネルを開き、列タブに切り替えて、タイムスタンプフィールドを右クリックします。そこには、可能なdefault
および_on update
_オプションがあります。
重要な注意:_CURRENT_TIMESTAMP
_をテーブルの単一の列のみのデフォルト値または更新値として使用できます!
UTCの質問に関しては、これを見ることができます question 。そこに受け入れられた解決策があります。
Timestamp data type および NOW()
function のMySQLリファレンスマニュアルも読むことをお勧めします。
MySQL Workbenchで行うことは次のとおりです。
データ型:TIMESTAMPデフォルト:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP