、私は私のMySQLサーバ上で次のクエリを実行行うには、それを言われたことがないとはいえ、デフォルトを設定します。MySQLは、「更新時に」使用して、私はそう
CREATE TABLE user(
created_at timestamp NOT NULL,
updated_at timestamp NOT NULL,
id integer NOT NULL AUTO_INCREMENT PRIMARY KEY,
count integer NOT NULL,
name varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci
私が驚いたのphpMyAdminに見えたとき。 created_at
の列のデフォルト値はCURRENT_TIMESTAMP
で、ON UPDATE CURRENT_TIMESTAMP
に設定されています。
どうすればこのことが起こりますか? それはそうすべきではないでしょうか?
ので、フォローアップの質問です:なぜこれが唯一のcreated_at' 'に起こると' updated_at'しませんか?そして、いつcoloumnが 'auto-initialized'と' auto-updated'として認識されますか?これまでにありがとうございました:) – Fuzzyma
は**最初のように見えます** TIMESTAMPは自動的にそのように設定されています。 "これは、現在のタイムスタンプに自動的に初期化または更新されるテーブルの最初のTIMESTAMP列である必要はありませんが、別のTIMESTAMP列の自動初期化または更新を指定するには、最初の列の自動プロパティを抑制する必要があります。 https://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html –