[Err] 1293 - there can be only one TIMESTAMP column with CURRENT_TIME in DEFAULT or ON UPDATE clause
<article style="box-sizing: inherit; outline: 0px; display: block; position: relative; padding-top: 16px; color: rgb(51, 51, 51); font-family: "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
**[Err] 1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause**
一個表中出現(xiàn)多個時間戳字段的定義,并設置了其中一個默認為Current_timestamp會報此類錯誤她奥。
原因是當你給一個timestamp設置為on update current_timestamp的時候歹袁,其他的timestamp字段需要顯式設定default值纳账。
但是如果你有兩個timestamp字段返顺,但是只把第一個設定為current_timestamp而第二個沒有設定默認值,MySQL也能成功建表,但是反過來就不行;
所以,有兩種解決辦法:
**方法一**:給所有的時間戳TIMESTAMP設置默認值DEFAULT值捉撮;
** 方法二**:升級Mysql,將Mysql升級到5.7版本以上就不會出現(xiàn)類似的問題了妇垢。
** 方法三**:將設定為CURRENT_TIMESTAMP的時間戳字段放在所有沒有設定默認值的時間戳字段前面巾遭,則可以建表成功(實際上CURRENT_TIMESTAMP時間戳默認值只能設置一個或者不設置,不能有兩個以上)闯估。
如下表所示:將設置了CURRENT_TIMESTAMP的時間戳create_Time字段設置在其他時間戳(start_time和end_time)前面灼舍,則創(chuàng)建成功。
</article>