【MySQL】インポートしたら#1293 – Incorrect table definitionエラーが出た件

MySQLで、データベースをエクスポートして、別のサーバにインポートしようとしたら、以下のエラーが出た。

MySQLのインポートエラー(phpMyAdmin)

エラーメッセージ

#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

(Google翻訳)
#1293 – 不正な表定義です。 DEFAULT句またはON UPDATE句には、CURRENT_TIMESTAMPを持つTIMESTAMP列は1つしか存在できません

あー、どうやらインポート先のDBのバージョンが古いらしい。

MySQLで複数のtimestamp列にCURRENT_TIMESTAMPを設定できるのはバージョン5.6.5以上とのこと。(エクスポート元は5.7)

厳密にはインポート先はMariaDBだったのだけど、同じことだろう。

面倒だけど、インポート先ではCURRENT_TIMESTAMPを1つにして、もう片方の列では処理側で更新するように対応した。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のSEを経て、独立。 ここ数年はWEB以外の仕事をしていたため、割と本気で勉強中。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください