CREATE TABLE `ts` (
`ts1` timestamp NOT NULL ,
`ts2` timestamp NOT NULL default CURRENT_TIMESTAMP,
`ts3` timestamp NULL default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
錯誤碼: 1293
Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
建立的時候ts1 跟ts2 是一樣的,只能有一個更新的時候更新
CREATE TABLE `ts` (
`ts2` timestamp NOT NULL default CURRENT_TIMESTAMP,
`ts3` timestamp NULL default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
這樣子更新後的ts2不會自動更新
CREATE TABLE `ts` (
`ts1` timestamp NOT NULL ,
`ts3` timestamp NULL default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
插入之後SQL語句變成了
CREATE TABLE `ts` (
`ts1` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`ts3` timestamp NULL default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
`ts1` timestamp NOT NULL , => `ts1` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
這時更新的時候就會自動更新ts1欄位了,不想要更新就建立的時候加各default
`ts2` timestamp NOT NULL default CURRENT_TIMESTAMP,
預設為空白是 `ts3` timestamp NULL default NULL 而不是 `ts3` timestamp default NULL